Hej Finns det någon koppling mellan tabellerna? ID är kopplingen mellan tabellerna. Testa det här (risk för felskrivning). Tack för hjälpen. Lyckades få det att fungerar med hjälp av detta.SQL script flera tabeller
Jag har tre tabeller i SQL server 2005.
Tabell_A (ID int, data1 nvarchar(7))
Tabell_B (ID int, namn nvarchar(7), data2 int)
Tabell_C( ID int, kod int, data3 int)
Innehåll i tabellerna:
Tabell_A (1, 'Test')
Tabell_B (1, 'Kalle', 5)
Tabell_B (1, 'Urban', 7)
Tabell_C (1, 65, 14)
+ naturligtvis en massa annat data.
Jag vill nu ta fram den post eller poster där följande villkor är uppfyllda:
Tabell_B.namn = 'Kalle' och data2 = 5
Tabell_B.namn = 'Urban' och data = 7
Tabell_C.kod = 65 och data3 = 14.
Jag vill få fram post 1 i Tabell_A
Hoppas ni förstår hur jag menar.
Finns det något bra sätt?
Claes AndskärSv: SQL script flera tabeller
ID t.ex.
Vad menar du med "Jag vill få fram post 1 i Tabell_A"?
I tabellerna B och C så anger du specifika villkor, men i tabell A bara ovanstående.
Kan du förtydliga lite.Sv:SQL script flera tabeller
dvs a.ID = b.ID and b.ID = c.ID.
Jag behöver med hjälp av villkoren och kopplingen få fram det som ligger i A.
Min egen ide som jag testade är:
select a.* from Tabell_A A, Tabell B B, Tabell_B C, tabell_C D where
a.ID = b.ID and a.ID = c.ID and a.id = d.id and
b.namn = 'Kalle' and b.data2 = 5 and
c.namn = 'Urban' and c.data2 = 7 and
d.kod = 65 and d.data3 = 14
Detta sättet fungerar men känns inte rätt och i det verkliga caset innehåller tabell_B 5 olika villkors poster och tabell_C 1 eller 2.
Men det är kanske så man måste göra?
/ClasseSv: SQL script flera tabeller
<code>
SELECT
a.*
FROM Tabell_A a
INNER JOIN Tabell_B b ON (a.ID = b.ID) AND (b.namn IN ('Kalle','Urban')) AND (b.data2 IN(5,7))
INNER JOIN Tabell_C c ON (a.ID = c.ID) AND (c.kod = 65) AND (c.data3 = 14);
</code>Sv:SQL script flera tabeller
Fick modifiera lite så det passade bar.
/Classe