Ronny Seffner <ro...@seffner.de> (Mi 15 Feb 2017 11:14:14 CET):
> Hallo Gruppe,
> 
> ich brauche ein :
> 
> SELECT IF(2>1, (SELECT a, b FROM table1 WHERE id = 1), (SELECT c, d FROM
> table2 WHERE id = 2));
> 
> Leider beglückt mich MySQL dann mit "#1241 - Operand sollte 1 Spalte(n)
> enthalten".
> Wie kann ich meinen Wunsch oben realisieren?

IF(e1, e2, e3)

e2 und e3 dürfen nur einen Wert zurückliefern. 
Lt. Doku könnte

    CASE WHEN … THEN … ELSE …

funktionieren. Bei mir aber gerade nicht (mysql 5.5 kann das vielleicht
nicht).

Aber und überhaupt bin ich weit davon entfernt, mich mit SQL auzukennen.

Vermutlich geht das mit Postgres, das werden wir sicher auch gleich
erfahren :)

-- 
Heiko

Attachment: signature.asc
Description: Digital signature

Antwort per Email an