Hi,
Heute wurde auf dem Server ein Datenbankupdate von Version 4 auf Version 5 gemacht. Auf dem 4er lief folgender Query ohne Probleme
Auf dem 5er gibt er den Fehler aus, dass er `bp`.`time` im JOIN nicht finden kann, also dass die Spalte/Tabelle nicht existiert. Daher gehe ich mal davon aus, dass ich das ganze komplett auf "* JOIN"-Basis machen muss, sprich, ich muss alle Tabellen über JOINS Verknüpfen.(Ist wahrscheinlich auch "unsauber" dieser Query)
Ich komm aber irgendwie nicht dahinter, in welcher Reihenfolge, damit ich auch zum passenden Ergebnis komme. Vielleicht könnt ihr mir da helfen.
Achja: Was bisher noch nicht geklappt hat, war das Zählen der IDs (auskommentierte Zeile). Es wurde glaube ich immer ein GROUP BY verlangt, bin mir da aber nicht mehr sicher. Vielleicht bekommt ihr auch das mit eingebaut
Danke schonmal im Voraus
Gruß fanste
EDIT:
Dies war mein letzter Versuch. Er meckert aber an der Zeile 23 rum.
Heute wurde auf dem Server ein Datenbankupdate von Version 4 auf Version 5 gemacht. Auf dem 4er lief folgender Query ohne Probleme
SQL:
SELECT
`bt`.`id` as t_id,
`bt`.`starter_name` as t_sn,
`bt`.`starter_id` as t_sid,
`bt`.`name` as t_t,
`bt`.`klicks` as t_v,
`bt`.`path` as t_p,
`bp`.`author_name` as p_an,
`bp`.`author_id` as p_aid,
`bp`.`time` as p_t,
`bc`.`id` as bc_id,
`bc`.`name` as bc_n,
`bb`.`name` as bb_n
#COUNT(`bp`.`id`) as p_count #das muss man noch ändern... später
FROM
`board_posts` as bp,
`board_columns` as bc,
`board_boards` as bb,
`board_topics` as bt
INNER JOIN
`board_posts` as bp2
ON
(
`bp2`.`path` = CONCAT(`bt`.`path`, '-', `bt`.`id`)
AND `bp`.`time` < `bp2`.`time`
)
WHERE
`bc`.`id` = '".$id."'
AND `bb`.`id` = `bc`.`parent`
AND `bt`.`path` = CONCAT(`bc`.`parent`, '-', `bc`.`id`)
AND `bp`.`path` = CONCAT(`bt`.`path`, '-', `bt`.`id`)
AND `bp2`.`time` IS NULL
ORDER BY
`p_t` DESC
Auf dem 5er gibt er den Fehler aus, dass er `bp`.`time` im JOIN nicht finden kann, also dass die Spalte/Tabelle nicht existiert. Daher gehe ich mal davon aus, dass ich das ganze komplett auf "* JOIN"-Basis machen muss, sprich, ich muss alle Tabellen über JOINS Verknüpfen.(Ist wahrscheinlich auch "unsauber" dieser Query)
Ich komm aber irgendwie nicht dahinter, in welcher Reihenfolge, damit ich auch zum passenden Ergebnis komme. Vielleicht könnt ihr mir da helfen.
Achja: Was bisher noch nicht geklappt hat, war das Zählen der IDs (auskommentierte Zeile). Es wurde glaube ich immer ein GROUP BY verlangt, bin mir da aber nicht mehr sicher. Vielleicht bekommt ihr auch das mit eingebaut

Danke schonmal im Voraus
Gruß fanste
EDIT:
Dies war mein letzter Versuch. Er meckert aber an der Zeile 23 rum.
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ON ( `bp` . `time` < `bp2` . `time` AND `bp` . `path` = CONCAT( `bt` . `path` ,' at line 1
SQL:
SELECT
`bt`.`id` as t_id,
`bt`.`starter_name` as t_sn,
`bt`.`starter_id` as t_sid,
`bt`.`name` as t_t,
`bt`.`klicks` as t_v,
`bt`.`path` as t_p,
`bp`.`author_name` as p_an,
`bp`.`author_id` as p_aid,
`bp`.`time` as p_t,
#`bp`.`title` as p_n,
`bc`.`id` as bc_id,
`bc`.`name` as bc_n,
`bb`.`name` as bb_n
#COUNT(`bp`.`id`) as p_count #das muss man noch ändern... später
FROM
`board_columns` as bc
INNER JOIN
(
`board_topics` as bt INNER JOIN (
`board_posts` as bp2 INNER JOIN (
`board_posts` as bp ON (`bp`.`time` < `bp2`.`time`
AND `bp`.`path` = CONCAT(`bt`.`path`, '-', `bt`.`id`))
)
ON `bp2`.`path` = CONCAT(`bt`.`path`, '-', `bt`.`id`)
)
ON `bt`.`path` = CONCAT(`bc`.`parent`, '-', `bc`.`id`)
`board_boards` as bb ON `bb`.`id` = `bc`.`parent`
)
WHERE
`bc`.`id` = '".$id."'
#AND `bp2`.`time` IS NULL
ORDER BY
`p_t` DESC
Zuletzt bearbeitet: