Geshrec22
Grünschnabel
Hallo erstmal... habe in diesem Forum schon oft als "Leser" Hilfe gefunden....
Nun komme ich aber ned umhin selbst einmal eine Frage stellen zu müssen:
Folgendes ist mein Problem:
Ich baue gerade ein Foren-System(mit mySQL und Java): Die Threads sind alle in einer einzigen Table drin mit einem Feld "parentthreadid" Ist dieses "0" so weiss ich das die nachricht eine Eröffnungsnachricht ist, wenn nicht ist es eine Antwort etc.... Bis hierher ist die Sache ja noch relativ einfach, ABER: Ich möchte es irgendwie hinbekommen in einer einzigen SELECT-Abfrage sowohl die Gesamtzahl der Threads sowie die Gesamtzahl der Posts in einem Forum herauszukriegen... Auch das haut ja noch hin. Das Problem ist nur, das jedes Forum doppelt erscheint, einmal mit der (korrekten) Anzahl der Threads und einmal mit der (korrekten) Anzahl der Antworten. Die jeweils andere Anzahl ist 0 --> falsch
Distinct hilft scheinbar auch nicht... Anyways ich bin mit meinem Latein bzw. SQL am Ende und brauche Hilfe, hier mein SQL-Statement:
SELECT DISTINCT boardid, boardname, countThreads,countAnswers FROM (
SELECT
`boards`.`boardid`,
`boards`.`boardname`,
`boards`.`description`,
`threads`.`parentthreadid`,
COUNT(IF(threads.parentthreadid = 0, 1, null) ) AS `countThreads`,
COUNT(IF(threads.parentthreadid > 0, 1, null) ) AS `countAnswers`
FROM
`boards`
LEFT OUTER JOIN `threads` ON (`boards`.`boardid` = `threads`.`boardid`)
GROUP BY
`boards`.`boardid`,
`boards`.`boardname`,
`boards`.`description`,
`threads`.`parentthreadid`
) AS Test
Nun komme ich aber ned umhin selbst einmal eine Frage stellen zu müssen:
Folgendes ist mein Problem:
Ich baue gerade ein Foren-System(mit mySQL und Java): Die Threads sind alle in einer einzigen Table drin mit einem Feld "parentthreadid" Ist dieses "0" so weiss ich das die nachricht eine Eröffnungsnachricht ist, wenn nicht ist es eine Antwort etc.... Bis hierher ist die Sache ja noch relativ einfach, ABER: Ich möchte es irgendwie hinbekommen in einer einzigen SELECT-Abfrage sowohl die Gesamtzahl der Threads sowie die Gesamtzahl der Posts in einem Forum herauszukriegen... Auch das haut ja noch hin. Das Problem ist nur, das jedes Forum doppelt erscheint, einmal mit der (korrekten) Anzahl der Threads und einmal mit der (korrekten) Anzahl der Antworten. Die jeweils andere Anzahl ist 0 --> falsch
Distinct hilft scheinbar auch nicht... Anyways ich bin mit meinem Latein bzw. SQL am Ende und brauche Hilfe, hier mein SQL-Statement:
SELECT DISTINCT boardid, boardname, countThreads,countAnswers FROM (
SELECT
`boards`.`boardid`,
`boards`.`boardname`,
`boards`.`description`,
`threads`.`parentthreadid`,
COUNT(IF(threads.parentthreadid = 0, 1, null) ) AS `countThreads`,
COUNT(IF(threads.parentthreadid > 0, 1, null) ) AS `countAnswers`
FROM
`boards`
LEFT OUTER JOIN `threads` ON (`boards`.`boardid` = `threads`.`boardid`)
GROUP BY
`boards`.`boardid`,
`boards`.`boardname`,
`boards`.`description`,
`threads`.`parentthreadid`
) AS Test