Hallo Vinzenz :-)
hat sich seit damals was an der Dir zur Verfügung stehenden MySQL-Version geändert? Mit der 3.23.58 wirst Du wenig Freude an Deinem Vorhaben haben.
Auf meinem Testsystem läuft inzwischen eine 5.0.51, allerdings wäre es wünschenswert, mein Forum auch zu älteren 3er Versionen Abwärtskompatibel zu machen.
Inzwischen habe ich es sogar geschafft, das Vorhaben mittels eines Sub-Selects zu realisieren, was ja aber leider bekanntlich bei der alten MySQL Version 3 noch nicht möglich ist.
SELECT
pr1.message_id,
pr1.hierarchy_location,
pr1.request AS RequestText,
pr1.author,
prc.category,
CONCAT(pu.first_name, ' ', pu.last_name) AS FullName,
COUNT(pr1.message_id) - 1 AS CommentCount,
date_format(MAX(pr2.date_posted), '%d.%m.%y %H:%i') AS LastActivity,
date_format(mvl.viewed_last, '%d.%m.%y %H:%i') AS ViewedLast
FROM prb_message pr1
INNER JOIN prb_message_category prc ON pr1.message_id = prc.message_id
LEFT JOIN prb_user pu ON pr1.author = pu.login_name
LEFT JOIN (SELECT * FROM prb_message_viewed_last WHERE login_name LIKE 'nils') mvl
ON pr1.message_id LIKE mvl.message_id
INNER JOIN prb_message pr2
ON pr1.hierarchy_location =
(IF (LOCATE('.', pr2.hierarchy_location),
LEFT(pr2.hierarchy_location, LOCATE('.', pr2.hierarchy_location) - 1),
pr2.hierarchy_location))
GROUP BY
pr1.message_id,
pr1.hierarchy_location,
RequestText,
pr1.author,
prc.category,
pu.last_name,
pu.first_name
Wäre das gleiche auch über einen geschickten Self-Join realisierbar? Natürlich nur wenn sich der Aufwand dafür in Maßen hält.
Gruß
Nils