webForumDet fria alternativet

Joina två tabeller

Databaser & SQL

2 svar · 514 visningar · startad av Peeer

Medlem sedan mars 20025 907 inlägg
Frågan#1

Afton!
Sitter här med två tabeller (det går dessvärre inte att ändra uppbyggnaden av databasen) i en MySQL-databas:

tbl1:
datum = 2007-05-06, hid = 3, did = 4
datum = 2007-07-24, hid = 4, did = 5
datum = 2007-07-12, hid = 6, did = 10

tbl2:
id = 3, namn = Per
id = 4, namn = Sara
id = 5, namn = Bengt
id = 6, namn = Rolf
id = 10, namn = Adam

Jag vill nu plocka ut ett visst datum från tbl1, men istället för hid & did så vill jag få ut namnen från tbl2 (hid respektive did motsvaras av varsin post i tbl2).

Jag lyckas få ut ett av namnen, men när jag ska få ut det andra tar det stopp. Hur gör jag?

select datum, namn as H from tbl1, tbl2 where datum = '2007-07-12' and 
	tbl1.hid = tbl2.id order by datum limit 1
Medlem sedan dec. 19996 721 inlägg
#2

Du får joina två gånger

select datum, th.namn as H,td.namn as N from tbl1, tbl2 th, tbl2 td where datum = '2007-07-12' and 
	tbl1.hid = th.id and tbl1.did=td.id order by datum limit
Medlem sedan mars 20025 907 inlägg
#3

Ah, tack! :)

407 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
143 ms — deklarationer (db)
128 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
142 ms — ändringar (db)