webForumDet fria alternativet

Litet SQL problem!

Databaser & SQL

1 svar · 228 visningar · startad av Fredde Mannen

Medlem sedan nov. 20014 054 inlägg
Frågan#1

Har tre tabeller, ser ut ungefär som följande:

kopplingstabell
CID
TID

kategorier
CID
namn
besk

tradar
TID
namn

att bara hämta ut kategorierna är ju inga problem, men jag kanske har varlt ett dumt sett. men i alla fall.

har en liknande länk
tradar.php?CID=[n] <-- en siffra..

på sidan vill jag då hämta ut alla trådar tillhörande kategorin. hur bygger jag en sql-sats med de tre, där jag vill använda kopplingstabellen för att se vilka trådar som tillhör vilken kategori!

Visst en JOIN, är det väl.. Men hur skall den se ut.. och var blandar jag in $_GET['CID'] i leken? :q

Medlem sedan dec. 19995 874 inlägg
#2

Om du bara vill hämta ut trådarna utan att hämta något från kategoriertabellen så kan du göra..

SELECT 
	t1.namn
FROM
	tradar t1
	INNER JOIN kopplingstabell t2 ON t1.TID = t2.TID
WHERE
	t2.CID = $GET['CID']

Annars måste du göra ungefär såhär...

SELECT 
	t1.namn,
	t3.besk
FROM
	tradar t1
	INNER JOIN kopplingstabell t2 ON t1.TID = t2.TID
	INNER JOIN kategorier t3 ON t2.CID = t3.CID
WHERE
	t2.CID = $GET['CID'] and t3.CID = $GET['CID'] --Bättre prestanda

Notera att den sista t3.CID inte är nödvändig, men kan göra det enklare för sql-motorn att hämta svaret, och därför bör den vara med.

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)