Hallo @dedlfix, @MudGuard und alle anderen
Leider hat weder der Tip, den gesamten UNION-SELECT innerhalb IN()
einzuklammern, noch der, den UNION
selbst noch einmal zu selektieren, funktioniert. MySQL meldet weiterhin, wie im OP gezeigt, einen Syntaxfehler.
Die Nutzerkommentare in der MySQL-Doku zu UNION brachten mich aber auf die Idee, den UNION
als dessen Basis in den FROM
-Block zu stecken.
SELECT
ent.id,
ent.user_id,
ent.name,
udat.user_name,
ent.time,
ent.subject,
ent.category
FROM ((
SELECT id, pid, tid, name, user_id, time, edited, last_reply, subject, category FROM entries WHERE spam = 0 ORDER BY time DESC LIMIT 6)
UNION (
SELECT id, pid, tid, name, user_id, time, edited, last_reply, subject, category FROM entries WHERE spam = 0 ORDER BY edited DESC LIMIT 6))
AS ent
LEFT JOIN userdata AS udat
ON udat.user_id = ent.user_id
ORDER BY time DESC
LIMIT 6
Das funktioniert erst einmal grundsätzlich, auch wenn ich noch gewaltig an den Details feilen muss. Ich melde mich dann noch einmal mit weiteren Fragen oder dem Endergebnis.
Tschö, Auge
--
Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
Toller Dampf voraus von Terry Pratchett
Wenn man ausreichende Vorsichtsmaßnahmen trifft, muss man keine Vorsichtsmaßnahmen mehr treffen.
Toller Dampf voraus von Terry Pratchett