webForumDet fria alternativet

Hjälp att joina två tabeller

Databaser & SQL

4 svar · 202 visningar · startad av NETwork

Medlem sedan juni 20011 732 inlägg
Frågan#1

Jag har två tabeller. Från tabell1 ska jag hämta en kolumn (ett namn) men från tabell2 ska jag hämta alla kolumnerna. Tabellerna är "kopplade" mellan varandra med ett ID... ett till många-förhållande. Det finns alltså en eller flera rader i tabell2 för varje rad i tabell1.

Någon som kan hjälpa mig?

Medlem sedan dec. 200012 464 inlägg
#2
select t1.namn,t2.* 
from tabell1 t1 inner join 
tabell2 t2 on t1.id = t2.id
Medlem sedan juni 20011 732 inlägg
#3

Aha. :) Får det inte riktigt att funka bara. Jag hämtar mitt id från en querystring... vill alltså hämta data från båda tabellerna som har ReviewID = X.

SELECT Topic.Name,Review.* FROM Topic T INNER JOIN Review R WHERE ReviewID =" + Request.QueryString["ReviewID"]

När jag försöker skriva ut tabellen så får jag fel (Syntax error in FROM clause), kanske beror problemet på att antal rader blir "ojämnt" ... jag hämtar ju en rad från Topic-tabellen men flera rader från Review-tabellen. Kan man lösa det på nåt sätt så att för varje rad i Review hämtar jag namnet (samma namn hela tiden) från Topic?

Medlem sedan juni 20011 732 inlägg
#4

Så här har jag skrivit nu:

SELECT Topic.Name,Topic.ReviewID,Review.* FROM Topic T INNER JOIN Review R ON T.ReviewID = R.ReviewID WHERE ReviewID =" + Request.QueryString["ReviewID"]

FÅr felmeddelandet att "The Microsoft Jet database engine does not recognize 'Review.*' as a valid field name or expression#".

:(

Medlem sedan juni 20011 732 inlägg
#5

Tjoho jag lyckades!!! :)

SELECT Topic.Name,Review.* FROM Topic INNER JOIN Review ON Topic.ReviewID = Review.ReviewID WHERE Review.ReviewID =" + Request.QueryString["ReviewID"]

255 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)