webForumDet fria alternativet

join problem

6 svar · 235 visningar · startad av aleborg

aleborgMedlem sedan jan. 20012 962 inlägg
#1
SELECT Forum_ID, Forum_Name, Forum_Image, 
Forum_Text, Forum_Moderator, Count(Topic_ID) 
FROM aForum Inner Join aF_Topics On Forum_ID=Topic_Category 
Where Forum_Status='1' And Forum_Sub"& selID &" 
Group by Forum_ID

Med den här koden tar jag fram alla subkategorier i ett forum och räknar ut antal inlägg som finns i subkategorin. problemet är att finns det inga inlägg så visas inte subkategorin alls :(

Sen skulle jag vilja utveckla frågan och få med ytterligare en "Count" som räknar samma som den befintliga "Count":en fast med tillägget "Where Topic_ReplyTo Is Null"

Nån som vet hur man löser det?

@ndersMedlem sedan juni 200026 914 inlägg
#2

Har du provat med LEFT OUTER JOIN istället för din INNER JOIN?

Mvh,

aleborgMedlem sedan jan. 20012 962 inlägg
#3

Japp, samma sak!

SELECT Forum_ID, Forum_Name, Forum_Image, 
Forum_Text, Forum_Moderator, Count(Topic_ID) 
FROM aForum LEFT OUTER Join aF_Topics 
On Forum_ID=Topic_Category 
Where Forum_Status='1' And Forum_Sub"& selID &" 
Group by Forum_ID
LarsGMedlem sedan dec. 200012 465 inlägg
#4

vad menar du med detta ?

Forum_Sub"& selID &"

Vilka kolumner finns i vilka tabeller? Om du har ett villkor på den högra tabellen i din where så blir det samma sak som om du har en inner join.

Om du vill räkna dom som är null:

SELECT Forum_ID, Forum_Name, Forum_Image, 
Forum_Text, Forum_Moderator, Count(Topic_ID) ,
sum(case when Topic_ReplyTo Is Null then 1 else 0 end)
FROM aForum LEFT OUTER Join aF_Topics 
On Forum_ID=Topic_Category 
Where Forum_Status='1' And Forum_Sub"& selID &" 
Group by Forum_ID
aleborgMedlem sedan jan. 20012 962 inlägg
#5
Forum_Sub"& selID &"

selID är antingen " Is Null" eller "=31"(ett id)

aForum
--Forum_ID
--Forum_Name
--Forum_Status
--Forum_Moderator
--Forum_Date
--Forum_Text
--Forum_Image
--Forum_Sub 'om är Null, då huvudkategori, annars id på den kategori den är sub till

aF_Topics
-- Topic_ID
-- Topic_Subject
-- Topic_Text
-- Topic_Date
-- Topic_ReplyTo
-- Topic_User
-- Topic_Category

Topic_ReplyTo innehåller ID:t på det inlägg det är svar på annars Null om det är en "tråd"

I koden så ville jag ha fram alla subkategorier och antal trådar och inlägg som finns i dom

LarsGMedlem sedan dec. 200012 465 inlägg
#6

Nej, då förstår jag inte vad som är fel. Med den tabelldesignn så borde det vara ok med en left outer join.

aleborgMedlem sedan jan. 20012 962 inlägg
#7

Det konstiga är att om jag kör en "left outer join" och det finns en tråd så visas ändå inte subkategorin, kör jag däremot "inner join" så syns den!

Genererad på 369 ms · cache AV · v20260730165559-full.f96bc7eb