PMedlem sedan jan. 20012 107 inlägg Hmm en query som har tagit upp min skalle ett tag nu!
Har en liten skiss här: http://p.latmask.com/sql1.jpg
Jag vill ha en tabell liknande denna:
Name|Trådar|Inlägg
Name = från tabellen
Trådar = antalet trådar för det aktuella namnet(id:t), CategoryID = Category. Och RotID = 0
Inlägg = samma som över men endast CategoryId=Category
Har denna kod:
SELECT
`forum`.`Category`,
count(*) AS `NumbPost`
FROM
`forum`,
`forumcategory`
WHERE
(`forumcategory`.`ModuleID` = '2') AND
(`forumcategory`.`CategoryID` = `forum`.`Category`)
GROUP BY
`forum`.`Category`
Men den ger mig inte antalet trådar, kan ju lägga till RotID=0 dvs att den ger mig alla trådar men då får jag inte de andra, alla posterna.
Är ingen expert på detta som kanske märks...
/(MySql)
LarsGMedlem sedan dec. 200012 465 inlägg SELECT
forum.Category,
sum(case when RotId = 0 then 1 else 0 end) as NumbCat,
count(*) AS NumbPost
FROM forum, forumcategory
WHERE forumcategory.ModuleID = 2
AND forumcategory.CategoryID = forum.Category
GROUP BY forum.Category
PMedlem sedan jan. 20012 107 inlägg Hmm vill nästan fungera, får felet "Invalid token 'case' at position 6 of line 3." Men det fungerar ibland...
LarsGMedlem sedan dec. 200012 465 inlägg Hur då "fungerar i bland"? (kör bara ibland då hö hö).
Hur anropar du frågan? PHP? Hur ser den koden ut?
PMedlem sedan jan. 20012 107 inlägg ;)
Ahh nu fungerar det som det ska. Kör asp.net och EMS Mysql Manager 2 och då får jag felmeddelandet. Satsen verkar vara för avancerad för QueryBuilder där.
Fungerar dock utmärkt mot mysql i scriptet!
Tack Lasse!
PMedlem sedan jan. 20012 107 inlägg Har stött på problem. Om jag inte har några poster i forum, men därimot poster i kategorier så visas inte dessa. Ahh, kanske får bli att bygga om allt ihop!
LarsGMedlem sedan dec. 200012 465 inlägg SELECT
forum.Category,
sum(case when RotId = 0 then 1 else 0 end) as NumbCat,
count(forum.category) AS NumbPost
FROM forumcategory left outer join forum
on forumcategory.CategoryID = forum.Category
WHERE forumcategory.ModuleID = 2
GROUP BY forum.Category