webForumDet fria alternativet

Flera tabeller - jag lär mig aldrig

Databaser & SQL

2 svar · 222 visningar · startad av Pedda

Medlem sedan juni 20006 031 inlägg
Frågan#1

Jag lyckas tydligen aldrig lära mig hur man hämtar från flera tabeller. :r :(

Har två tabeller:
medlem_cdarkiv
Fält: cdarkiv_id (auto increment), cdarkiv_medlid, cdarkiv_cdid, m.flera

och

cd_skiva
Fält: skiva_id (auto increment), artist m.flera

Jag har användarens id ($cur_user['id']) sedan tidigare.

Först ska $cur_user['id'] jämföras med cdarkiv_medlid, för att få ut uppgifterna som gäller den medlemmen.
Det kan finnas flera rader med samma värde på cdarkiv_medlid.

Sen ska uppgifterna från tabellen cd_skiva hämtas där fältet där skiva_id är lika med cdarkiv_cdid och sorteras efter artist.

Krångligt att förklara, men jag hoppas att ni förstår. ;) (Jag förstår knappt själv hur jag menar).

Ni får gärna förklara lite hur ni löser detta, så kanske jag lär mig nån gång. :l

Redigerat
För att ni ska förstå vad jag menar så lägger jag in hur man skulle kunna ha gjort med två sql frågor:

$result = mysql_query("SELECT * FROM medlem_cdarkiv WHERE cdarkiv_medlid = ".$cur_user['id'].""); 
while ($r = mysql_fetch_array($result)) {
	$data = mysql_query("SELECT * FROM cd_skiva WHERE skiva_id = ".$r['cdarkiv_cdid']." ORDER BY artist ASC");
	while ($rad = mysql_fetch_array($data)) { 
	// SKRIV RESULTATET HÄR.........
	}
}
Medlem sedan dec. 200012 464 inlägg
#2
$q = "select * from medlem_cdarkiv as mc, cd_skiva as cs " .
" where mc.cdarkiv_cdid = cs.skiva_id " .
" and  cdarkiv_medlid = " . $cur_user['id'];
Medlem sedan juni 20006 031 inlägg
#3

Tackar för det, funkar utmärkt. :)

Det hade jag aldrig löst själv, försökte med inner join o annat utan resultat.

Fast jag lär återkomma nästa gång, då jag inte löser det. :/

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)