Avatar billede dannv Nybegynder
23. januar 2009 - 09:42 Der er 6 kommentarer og
1 løsning

Select med begrænsninger

Jeg har en tabel med følgende udseende og indhold:

template_id    element_id
6514        1   
6514        5   
8782        1

Jeg har brug for at finde en liste af 'template_id' hvor element_id er både 1 og 5 (det vil sige i denne situation skulle resultatet kun være 6514)...??
Avatar billede teepee Nybegynder
23. januar 2009 - 10:08 #1
denne dur vist kun i 2005 (hvad bruger du?):
select template_id from table1 where element_id = 1
intersect
select template_id from table1 where element_id = 5
Avatar billede dannv Nybegynder
23. januar 2009 - 11:09 #2
Jeg afprøver lige..
Avatar billede dannv Nybegynder
23. januar 2009 - 11:24 #3
Det virkede super..
Avatar billede torbenkoch Nybegynder
23. januar 2009 - 22:49 #4
Æh, man kunne også have skrevet:

select template_id from table1 where element_id in (1, 5)
Avatar billede arne_v Ekspert
24. januar 2009 - 04:21 #5
Nej det kunne man ikke.

Den vil returnere alt for mange række i forhold til det ønskede.
Avatar billede arne_v Ekspert
24. januar 2009 - 04:23 #6
Hvis man ikke har INTERSECT så er der jo altid gode gamle self join.

SELECT template_id
FROM table1 a,table1 b
WHERE table1.template_id = b.template_id AND a.element_id=1 AND b.element_id=5

Den bør virke på alt der påstår at bruge SQL.
Avatar billede torbenkoch Nybegynder
24. januar 2009 - 13:56 #7
Arne_v - ah ja, selvfølgelig - det var på den anden led data skulle skues, tak for det ;-)
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