SELECT DISTINCT a,b,c FROM t
ist ungefähr Äquivalent zu:
SELECT a,b,c FROM t GROUP BY a,b,c
Es ist eine gute Idee, sich an die GROUP BY-Syntax zu gewöhnen, da sie leistungsfähiger ist.
Für Ihre Anfrage würde ich es so machen:
UPDATE sales
SET status='ACTIVE'
WHERE id IN
(
SELECT id
FROM sales S
INNER JOIN
(
SELECT saleprice, saledate
FROM sales
GROUP BY saleprice, saledate
HAVING COUNT(*) = 1
) T
ON S.saleprice=T.saleprice AND s.saledate=T.saledate
)