Jak zwrócić tylko zduplikowane wiersze w SQL?

Mam zapytanie, które zwraca następujące wiersze:

StateId, 
OrderId, 
OrderTime, 
PermitId

Muszę zwrócić tylko wiersze, które są dokładnymi duplikatami na całej tablicy, więc każdy rekord musi być dokładnie taki sam jak drugi rekord, aby był duplikatem. Chciałbym zwrócić oba rekordy. Macie jakiś pomysł?

1 odpowiedź

SELECT
    t2.*
FROM
    (
    SELECT 
       StateId, OrderId, OrderTime, PermitId
    FROM
       myTable
    GROUP BY
       StateId, OrderId, OrderTime, PermitId
    HAVING
       COUNT(*) >= 2
    ) T1
    JOIN
    mytable T2 ON T1.StateId = T2.StateId AND T1.OrderId = T2.OrderId AND
                   T1.OrderTime = T2.OrderTime AND T1.PermitId = T2.PermitId

Twoja odpowiedź

Zaloguj się aby odpowiedzieć.

Operiada

Operiada to polskojęzyczne forum informatyczne działające na zasadzie pytań i odpowiedzi.

Obserwowane tagi

Zaloguj się aby obserwować tagi.