jämför två rader i samma tabell för jämlikhet i SQL

sujeeth.selvam-fredag, januari 19, 2018 12: 34 om eftermiddagen

>> har följande tabell i min databas: <<

Var är DDL för den här tabellen? Vad är nycklarna? Vilka datatyper? Vilka är begränsningarna? Du skrev verkligen ingenting. Men värre än det verkar du tro att det finns en sådan sak som ett generiskt, magiskt, universellt ”id” i RDBMS. Det finns det inte. Vi använder nycklar och per definition är en nyckel en delmängd av kolumnerna i en tabell så att de är unika för varje rad i den tabellen. Gissa på vad du kanske har tänkt att posta, jag skulle gissa det här:

Skapa tabell Insurance_Policies
(foobar_id CHAR (2) inte NULL primärnyckel
kontrollera (foobar_id som”),
policy_nbr CHAR (5) inte NULL
kontrollera (policy_nbr som”)

infoga i Insurance_Policies
värden
(’01’, ’34564’),
(’02’, ’67548’),
(’03’, ’34564’),
(’04’, ’98271’),
(’05’, ’90198’);
(’06’, ’98271’);

jag letar efter en sql-fråga som kommer att jämföra policy_nbr-kolumnvärdena i alla 5 rader och returnera de rader som har ett värde som är lika med minst en annan rad.

välj policy_nbr, MIN( foobar_id), MAX (foobar_id)
från Insurance_Policies
grupp efter policy_nbr
med räkning(*) > 1;

jag har gjort ett antagande, eftersom vi inte har några SPECIFIKATIONER, att det bara finns två dubbla foobar_id per policynummer. Detta är en av de många många anledningarna till att vi ber folk att posta DDL. Om jag hade rätt skulle du ha lagt begränsningar på ditt bord för att försäkra dig om detta.

lägg upp DDL och följ ANSI/ISO-standarder när du ber om hjälp.

Leave a Reply

Din e-postadress kommer inte publiceras.