SELECT DISTINCT a,b,c FROM t
jest w przybliżeniu odpowiednik:
SELECT a,b,c FROM t GROUP BY a,b,c
Dobrym pomysłem jest przyzwyczajenie się do składni GROUP BY, ponieważ jest ona bardziej wydajna.
W przypadku Twojego zapytania zrobiłbym to tak:
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
)