webForumDet fria alternativet

Underliga JOINS

Databaser & SQL

1 svar · 190 visningar · startad av Spider

Medlem sedan mars 20012 inlägg
Frågan#1

Begrunda följande;
SELECT Alfa.x, Beta.x FROM Alfa LEFT JOIN Beta ON Beta.id IN (Alfa.id)

Alfa.id är av typen VARCHAR och innehåller en sträng med komma-separerade nummervärden, t.ex: '1,2,3,4,5'.
Beta.id är av typen INT.

Om frågan ovan matchar en post i Alfa kan den samtidigt matcha t.ex. 5 poster i Beta. Eftersom en JOIN utförs mellan de båda tabellerna returneras dock "bara" 1 rad från varje tabell (som sammanfogas).

Går det att "trycka ihop" de 5 posterna i Beta för att sedan sammanföra dem med den enda posten i Alfa?

Ok, jag fattar inte själv när jag läser det här men kanske någon annan gör det.

HJÄLP!

Medlem sedan dec. 200012 464 inlägg
#2

Om du behöver göra denna typ av joins så tycker jag att din datamodell är helt felaktig.

------------------
essentitia preter non sans multiplicandum

261 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)