webForumDet fria alternativet

hjälp med sql & group by

6 svar · 656 visningar · startad av xarfez

xarfezMedlem sedan feb. 200711 inlägg
#1

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
#2

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
#3

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
#4

KOM IHÅG! Att markera tråden som löst när det faktiskt är det..

xarfezMedlem sedan feb. 200711 inlägg
#5

CatZ skrev:

KOM IHÅG! Att markera tråden som löst när det faktiskt är det..

Hur gör jag det? :q

SBMedlem sedan maj 2000194 inlägg
#6

Genom att klicka på länken "Acceptera som slutgiltigt svar" i högerkanten på det svar som gav dig lösningen!

emissionMedlem sedan dec. 19996 721 inlägg
#7

SB skrev:

på det svar som gav dig lösningen!

Liksom.. :)

134 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)