PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como eu (ou posso) SELECT DISTINCT em várias colunas?

SELECT DISTINCT a,b,c FROM t

é aproximadamente equivalente a:
SELECT a,b,c FROM t GROUP BY a,b,c

É uma boa ideia se acostumar com a sintaxe GROUP BY, pois ela é mais poderosa.

Para sua consulta, eu faria assim:
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
 )