xarfezMedlem sedan feb. 200711 inlägg Har följande SQL fråga (mysql)
SELECT *, COUNT(answerID) AS antalSvar
FROM forum_Threads INNER JOIN forum_User ON forum_Threads.userID = forum_User.userID
INNER JOIN forum_Answers ON forum_Threads.ThreadsID = forum_Answers.ThreadsID
WHERE forum_Threads.mainCategoryID=?mainCategoryID
GROUP BY forum_Threads.threadsID
ORDER BY forum_Threads.datetime DESC LIMIT 0,5;
Problemet är om forum_Threads tabellen innehåller en tråd utan answers (forum_Answers) så kommer inte den tråden med vid utvisningen.
Vad bör jag ändra i sql frågan för att den ska fungera korrekt?
K@llenMedlem sedan mars 20032 667 inlägg En inner join kräver att du får träff i båda tabellerna, använd left join istället eftersom du verkar ha forum_Threads till vänster i sql-frågan.
Då tar den bara med från forum_Answers om där finns innehåll att ta med.
För övrigt bör frågan flyttas till SQL-forumet. ;)
xarfezMedlem sedan feb. 200711 inlägg
K@llen skrev:
En inner join kräver att du får träff i båda tabellerna, använd left join istället eftersom du verkar ha forum_Threads till vänster i sql-frågan.
Då tar den bara med från forum_Answers om där finns innehåll att ta med.
För övrigt bör frågan flyttas till SQL-forumet. ;)
Ah ibland tänker man inte. Så klart det är inner joinen som strular.
Och ja, flytten får någon moderator utföra.
CatZMedlem sedan jan. 20022 440 inlägg KOM IHÅG! Att markera tråden som löst när det faktiskt är det..
SBMedlem sedan maj 2000194 inlägg Genom att klicka på länken "Acceptera som slutgiltigt svar" i högerkanten på det svar som gav dig lösningen!