sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Cómo puedo (o puedo) SELECCIONAR DISTINTO en varias columnas?

SELECT DISTINCT a,b,c FROM t

es aproximadamente equivalente a:

SELECT a,b,c FROM t GROUP BY a,b,c

Es una buena idea acostumbrarse a la sintaxis GROUP BY, ya que es más potente.

Para su consulta, lo haría así:

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
 )