kristofferMedlem sedan juni 20001 266 inlägg
Varför fungerar inte följande: (tabellnamn osv förenklade)
SELECT *
FROM tabell1
WHERE tabell1.tabell2_id IN
(SELECT tabell3.name, tabell2.name FROM tabell2 INNER JOIN tabell3 ON tabell2.tabell3_id = tabell3.id)
------------------
http://www.tavlingar.se
LarsGMedlem sedan dec. 200012 465 inlägg
De värden som du gör jämförelsen med måste vara av samma typ och antal.
Du kan skriva
SELECT *
FROM tabell1
WHERE tabell1.tabell2_id IN
(SELECT tabell3.id FROM tabell2 INNER JOIN tabell3 ON tabell2.tabell3_id = tabell3.id)
om id-kolumnerna i tabell1 och tabell3 har samma typ.
En del dbms tillåter också att man skriver
SELECT *
FROM tabell1
WHERE (tabell1.name1,tabell1.name2) IN
(SELECT tabell3.name, tabell2.name FROM tabell2 INNER JOIN tabell3 ON tabell2.tabell3_id = tabell3.id)
--------------------------------------------------------------------------------
------------------
essentitia preter non sans multiplicandum
kristofferMedlem sedan juni 20001 266 inlägg
Men vad är name1 och name2 i:
SELECT *
FROM tabell1
WHERE (tabell1.[b]name1[/b],tabell1.[b]name2[/b]) IN
(SELECT tabell3.name, tabell2.name FROM tabell2 INNER JOIN tabell3 ON tabell2.tabell3_id = tabell3.id)
Jag har ju inga fält i tabell1 som heter så? (Jag har SQL Server)
------------------
http://www.tavlingar.se
LarsGMedlem sedan dec. 200012 465 inlägg
Det är fiktiva kolumnnamn.
Vad är det du vill söka?
------------------
essentitia preter non sans multiplicandum