Avatar billede moskjaer Nybegynder
23. januar 2004 - 19:39 Der er 11 kommentarer og
2 løsninger

Filtrere resultat af SQL-forespørgsel

Jeg har en MySQL-tabel, der foruden et unikt id også har følgende kolonner som begge er af typen "int":

psykID  emneID 
  28      1
  16      1
  25      1
  18      1
  39      1
  52      2
  52      1
  56      1

Mit problem er, at jeg skal have udvalgt det psykID der både har emneID = 1 OG emneID = 2, men kan lige nu ikke gennemskue at få sammensat den korrekte SQL-forespørgsel, selvom det givetvis er en ganske banal løsning.
Avatar billede idle Nybegynder
23. januar 2004 - 19:41 #1
select * from <tabelnavn where emneID=1 or emneID=2

Du kan evt. bruge "in" hvis der er en længere liste af emneID'er
Avatar billede idle Nybegynder
23. januar 2004 - 19:41 #2
"select psykID", naturligvis
Avatar billede cultx Nybegynder
23. januar 2004 - 19:42 #3
"SELECT psykID, emneID From TABEL_NAVN Where emneID=1 OR emneID=2"

Skulle gerne gører det... ;-)

/Cultx
Avatar billede arne_v Ekspert
23. januar 2004 - 19:43 #4
SELECT t1.psykID
FROM tabel t1, tabel t2
WHERE t1.psykID=t2.psykID AND t1.emneID=1 AND t2.emneID=2
Avatar billede arne_v Ekspert
23. januar 2004 - 19:44 #5
hvor tabel=dit tabel navn

Det hedder en self join.
Avatar billede cultx Nybegynder
23. januar 2004 - 19:44 #6
Hvis du allerede har lavet din SQL, kan du filtrere dit recordset med følgende:

RS.Filter="emneID=1 OR emneID=2"
Avatar billede cultx Nybegynder
23. januar 2004 - 19:45 #7
Du skal da ikke sige at folk ikke vil hjælpe... LOL ;-)
Avatar billede moskjaer Nybegynder
23. januar 2004 - 19:53 #8
Nej, det er perfekt. Tusind tak for hjælpen - jeg valgte at benytte løsningen fra arne_v.
Avatar billede arne_v Ekspert
23. januar 2004 - 19:55 #9
Den laver ihvertfald noget ganske andet end OR løsningerne.
Avatar billede cultx Nybegynder
23. januar 2004 - 20:02 #10
arne_v> Okay, den var avanceret, eller har ihvertfald aldrig set det før... ;-)
Avatar billede arne_v Ekspert
23. januar 2004 - 20:29 #11
Det hedder som sagt en "self join"
Avatar billede cultx Nybegynder
23. januar 2004 - 20:35 #12
Er der nogle særlige fordele ved en sådanne??? -Bare nysgerig!
Avatar billede arne_v Ekspert
23. januar 2004 - 21:10 #13
Den er nødvendig hvis man vil have det ud som den giver.

Den finder det psykID der både har en emneID 1 og 2 tilknyttet, men ikke
dem som kun har en af dem.
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