webForumDet fria alternativet
Logga in / Bli medlem

Omröstning

Databaser & SQL

4 svar · 210 visningar · startad av Melea

Medlem sedan juli 20033 147 inlägg
Trådstart#1

Hejhej

Får inte riktigt till det, såhär ser det ut

SELECT p.ID, p.Question, pa.Poll_ID, pa.Alternative
FROM tbl_poll p
INNER JOIN tbl_poll_alternative pa
ON p.ID = pa.Poll_ID
CROSS JOIN tbl_poll AS pmax
GROUP BY p.ID, p.Question, pa.Poll_ID, pa.Alternative
HAVING p.ID = MAX(pmax.ID)

Men när jag loopar ut Question och Alternative så skrivs Question ut lika många gånger som det finns Alternative. Vad har jag missat? :OO

Tabellstrukturen är

[b]tbl_poll[/b]
ID
Question

[b]tbl_poll_alternative[/b]
ID
Poll_ID
Alternative
Medlem sedan dec. 200012 464 inlägg
#2

Inget. Det är så join fungerar. Vad hade du förväntat dig?

Medlem sedan juli 20033 147 inlägg
#3

Vill att frågan ska skrivas ut, och sedan alla alternativ som har samma Poll_ID som frågans ID.

Medlem sedan dec. 200012 464 inlägg
#4

Hanteras lämpligen i applikationen. Skriv bara ut frågan vid första posten.

Medlem sedan juli 20033 147 inlägg
#5

Okej, visste inte om det fanns någon funktion i SQL som gjorde samma sak.
Tack!

268 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
135 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)