Ein Problem sieht aus wie der Ausdruck für den mode Säule. Die Unterabfrage im CASE-Ausdruck sollte einen Ausdruck und eine Zeile zurückgeben. Statt SELECT * es sollte SELECT <expr> sein , und es sollte eine LIMIT 1-Klausel geben, wenn die Möglichkeit besteht, dass mehr als eine Zeile zurückgegeben wird.
Wenn Sie mehr als einen Ausdruck benötigen, müssen Sie diesen CASE-Ausdruck entweder mit einer anderen Unterabfrage wiederholen, oder Sie möchten vielleicht eine JOIN-Operation.