Avatar billede ihtezaz Praktikant
29. september 2006 - 10:09 Der er 14 kommentarer

Selecte post, hvor en en fremmede id eksistere og udlukke en ande

Jeg har en tabel kaldet "picLink",
tabelen har en kolonne "photoID" og en kolonne "keywordID" og en id kolonne.

Det jeg ønsker, er at kunne selecte alle fotoer der f.eks. har keywordid = 151 og ikke keywordid = 400

Samme photoID forkommer flere gange i forskellige rækker, med forskellige keywordID's. Altså kan en photoID have mange keywordID's og jeg ønsker photoid's der har keywordi 151, men ikke keywordid 400.

Hvordan skal min sql sætning lige se ud ?
Avatar billede Slettet bruger
29. september 2006 - 10:17 #1
Hvis jeg har forstået dig rigtigt, skal din sql se sådan her ud.

SELECT `photoID` FROM `picLink` WHERE `keywordId` = 151

/1.
Avatar billede ihtezaz Praktikant
29. september 2006 - 10:22 #2
Nope, for tager den også photoid med der har keywordid= 400,
da samme photoid, kan have flere keywordid's
Avatar billede hmortensen Nybegynder
29. september 2006 - 10:29 #3
Måske sådan her (kræver at din version understøtter sub selects):
SELECT photoid FROM (SELECT photoid, keywordid FROM piclink WHERE keywordid = 151) AS tmp WHERE tmp.keywordid != 400
Avatar billede ihtezaz Praktikant
29. september 2006 - 10:36 #4
Det virker desværre ikke, tror det er fordi min mysql ikke undstøtter det.
Avatar billede ihtezaz Praktikant
29. september 2006 - 10:59 #5
jeg har en version der hedder: 3.23
Avatar billede Slettet bruger
29. september 2006 - 11:10 #6
Ahh.. misforstod.

Her er en ikke testet løsning:

SELECT `photoID` FROM `picLink` WHERE `photoID` NOT IN (SELECT DISTINCT `photoID` FROM `picLink` WHERE `keywordID` = 400) AND `keywordID` = 151

/1.
Avatar billede ihtezaz Praktikant
29. september 2006 - 11:48 #7
Det ser meget rigtig ud, men min mysql vil ikke godtage sql'en :(
Avatar billede Slettet bruger
29. september 2006 - 11:55 #8
Hvad brokker den sig over?
Avatar billede hmortensen Nybegynder
29. september 2006 - 12:11 #9
Så blir du nok nødt til at lave det i to sætninger.

kvadratrodenaf1, vi har lige konstateret at hans version er for gammel til sub selects.
Avatar billede Slettet bruger
29. september 2006 - 14:05 #10
Det er muligt, men prøv at poste fejlen alligevel - det kunne jo være fejl i navngivning eller typeangivelsen af en column - eller syntaxfejl.
Avatar billede hmortensen Nybegynder
29. september 2006 - 14:21 #11
Subselects er først mulige i version 4.1.
Avatar billede Slettet bruger
29. september 2006 - 17:10 #12
Ja så må det gøres af 2 gange.. eller frafiltreringen kan ske i din kode.
Avatar billede ihtezaz Praktikant
29. september 2006 - 20:46 #13
mm..Ok, jeg er rimelig ringe til sql, måske en eksempel
Avatar billede ihtezaz Praktikant
09. februar 2011 - 19:18 #14
Tak hjælpen begge, smid et svar.
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