Hej jeg skal bruge en sql som henter navnene fra en tabel (tabel 1) de skal kun hentes hvis de i table 2 både har fooid = 1 og fooid = 2. (altså i 2 rækker) jeg er altså ikke interesseret hvis de enten kun har fooid=1 eller 2 men skal have begge ;)
nej så kunne jeg gopdt lige klare den hvis den var så simpel ;) Det går jo ikke da fooid kun kan være 1 væredi pr. række. DIn sql siger at de skal være lig 1 og 2 i samme række hvilket af gode grunde ikke kan lade sig gøre.
SELECT tabel1.navn FROM Table1 INNER JOIN Table2 ON table1.id = table2.navnid WHERE count(SELECT tabel1.navn FROM Table1 INNER JOIN Table2 ON table1.id = table2.navnid WHERE fooid = 1 OR fooid =2)=2;
Jeg har ikke selv forsøgt med nedennævnte, men jeg tror den sql kan uddrage de rigtige oplysninger: select T1a.*, T1b.*, T2.* from Tabel1 T1a, Tabel1 T1b, Tabel2 T2 where (((T1a.ID=T2.NavnID) and (T2.FooID='1')) or ((T1b.ID=T2.NavnID) and (T2.FooID='2')) and (T1a.ID=T1b.ID))
Hov, jeg tror, jeg mangler en parentes, jeg har ikke adgang til SQL, hvor jeg sidder nu.
select T1a.*, T1b.*, T2.* from Tabel1 T1a, Tabel1 T1b, Tabel2 T2 where ((((T1a.ID=T2.NavnID) and (T2.FooID='1')) or ((T1b.ID=T2.NavnID) and (T2.FooID='2'))) and (T1a.ID=T1b.ID))
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.