Avatar billede thecokeguy Nybegynder
12. august 2006 - 14:44 Der er 5 kommentarer og
1 løsning

Vælge ikke-eksisterende id'er

Hej...

Hvis jeg nu har en tabel med biografsæder og en tabel med biogragængere, de kunne hav flg. struktur:

tblSaeder
ID
Label

tblGaengere
ID
IDSaede (Dette er ID'en på det bestilte sæde)

hvis jeg nu skriver 'SELECT * FROM tblSaeder, tblGaengere WHERE (tblSaeder.ID = tblGaengere.IDSaede)'

så får jeg alle de sæder der allere er bestilt... Hvad gør jeg hvis jeg vil have alle de sæder som ikke er bestilt af en biografgænger endnu?

På forhånd tak...
Avatar billede michael_stim Ekspert
12. august 2006 - 14:49 #1
Har du en nyere version af MySQL?
'SELECT * FROM tblSaeder WHERE id NOT IN(SELECT id FROM tblGaengere WHERE tblSaeder.ID = tblGaengere.IDSaede)'
Avatar billede thecokeguy Nybegynder
12. august 2006 - 15:02 #2
Jeg kører MySQL 5.0
Avatar billede thecokeguy Nybegynder
12. august 2006 - 15:24 #3
Den lister stadig alt muligt den ikke bør... Den lister endda den samme plads flere gange.
Avatar billede michael_stim Ekspert
12. august 2006 - 15:32 #4
'SELECT * FROM tblSaeder WHERE id NOT IN(SELECT Saedeid FROM tblGaengere)'

Er nok bedre
Avatar billede thecokeguy Nybegynder
12. august 2006 - 15:54 #5
Det virker stadig ikk'... Kan man ikke bruge hverken MINUS eller EXCEPT i MySQL?
Avatar billede thecokeguy Nybegynder
12. august 2006 - 20:19 #6
Jeg løste det på flg. måde:

'SELECT * FROM tblSaeder LEFT JOIN tblGaengere ON (tblGaengere.IDSaede = tblSaede.ID) WHERE (tblGaengere.ID IS NULL)'
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