Avatar billede sqlproblem Nybegynder
31. juli 2008 - 10:23 Der er 6 kommentarer og
1 løsning

Forskellig fra

Hej
Jeg har et problem med en lille sql sætning. Jeg har to næsten identiske tabeller, hvor jeg skal udvælge de poster i den ene tabel som er forskellige fra dem i den anden tabel. Altså hvis posterne ikke er i den ene tabel, skal de vises med forespørgslen.

Jeg bruger denne forespørgsel
SELECT Kunde.Kundenummer, KundeData.Kundenummer
FROM Kunde INNER JOIN KundeData ON Kunde.Kundenummer = KundeData.Kundenummer
WHERE kunde.kundenummer <> kundedata.kundenummer

Denne sætning giver dog ikke noget resultat. Er der nogen der har nogen ideer?
Avatar billede 2c Nybegynder
31. juli 2008 - 10:28 #1
Den giver ikke noget resultat, fordi du på en inner join kun får de rækker der er et match på.
Avatar billede 2c Nybegynder
31. juli 2008 - 10:29 #2
Lav istedet en left outer join:
...
FROM Kunde LEFT OUTER JOIN KundeData ON Kunde.Kundenummer = KundeData.Kundenummer
WHERE  kundedata.kundenummer is null
Avatar billede 2c Nybegynder
31. juli 2008 - 10:30 #3
Altså, i forhold til min første kommentar, når du laver en inner join vil kunde.kundenummer altid være lig kundedata.kundenummer
Avatar billede sqlproblem Nybegynder
31. juli 2008 - 10:37 #4
Super.. tusinde tak :) Har overført point
Avatar billede sqlproblem Nybegynder
31. juli 2008 - 11:21 #5
Lige et spørgsmå til.. Hvordan laver man den om så den bliver til DELETE i stedet for?
Avatar billede 2c Nybegynder
31. juli 2008 - 12:35 #6
et gæt:
DELETE FROM Kunde
LEFT OUTER JOIN KundeData ON Kunde.Kundenummer = KundeData.Kundenummer
WHERE  kundedata.kundenummer is null
Avatar billede kjulius Novice
31. juli 2008 - 23:15 #7
Eller, hvis det ikke virker, kunne du prøve en meget basic metode:

DELETE FROM Kunde
WHERE NOT EXISTS (SELECT * FROM KundeData WHERE Kundenummer = Kunde.Kundenummer)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester