dedlfix: UNION in IN() als Teil einer WHERE-Klausel?

Beitrag lesen

Tach!

 WHERE entries.id IN((SELECT id FROM entries WHERE spam = 0 ORDER BY time DESC LIMIT 6) UNION (SELECT id FROM entries WHERE spam = 0 ORDER BY edited DESC LIMIT 6))

Hast du mal die Klammern um die Einzel-Selects weggelassen? Oder noch eine Klammer um das Gesamt-Union-Konstrukt gesetzt? Oder beides?

#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
'UNION (SELECT id FROM entries WHERE spam = 0 ORDER BY edited DESC LIMIT 6))' at line 11

Ich vermute, dass MySQL aufgrund der öffnenden Klammer eine Subquery erwartet. Und die endent nach der ), woraufhin Syntax folgt, die in einem IN() falsch ist.

dedlfix.