SELECT DISTINCT a,b,c FROM t
är ungefär motsvarande:
SELECT a,b,c FROM t GROUP BY a,b,c
Det är en bra idé att vänja sig vid GROUP BY-syntaxen, eftersom den är mer kraftfull.
För din fråga skulle jag göra så här:
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
)