Axel Richter: MySQL Row Subquery - wie Ergebnis "Spalten" zuweisen?

Beitrag lesen

Hallo,

ich ermittle mit einer Subquery _zwei_ Spaltenwerte. Es handelt sich also nicht mehr um eine skalare Subquery, sondern um das, was MySQL eine Row Subquery nennt.

Nur, wie weise ich jetzt deren Ergebnis zwei Aliasnamen in meinem umgebenden SELECT-Statement zu?

Bei einer skalaren Subquery würde ich ja wie folgt vorgehen:

SELECT blubb,
   ( SELECT blah1 FROM ... ) AS blah
FROM ...


>   
> Aber wie mache ich das mit einer Row Subquery, die mir zwei Werte liefert?  

Soweit ich weiß, an dieser Stelle gar nicht. Gerne in WHERE-Klauseln usw. aber die Spaltenaufzählung nach SELECT erwartet \_einzene\_ Spaltendefinitionen oder \* für alle Spalten der Tabelle/n nach FROM.  
  

> ~~~sql
  

> SELECT blubb,  
>    ( SELECT blah1, quark1 FROM ... ) AS what_goes_here???  
> FROM ...

  
SELECT blubb,  
    ( SELECT blah1 FROM ... ) AS blah,  
    ( SELECT quark1 FROM ... ) AS quark  
FROM ...  

Wie macht man das "richtig"? Gibt es überhaupt eine Möglichkeit?
Oder habe ich keine andere Wahl, als beide Werte in der Subquery mit einem CONCAT zu verknüpfen, mir als einen Wert zurückliefern zu lassen, und sie anschließend wieder auseinanderzupflücken?

siehe oben

Je nach Zusammenhang zwischen den Tabellen eventuell auch mit einenm JOIN, also mehreren Tabellen nach FROM.

viele Grüße

Axel