Ich habe nach all dem gesucht, aber leider entgeht mir die wirkliche Antwort. Ich habe eine SELECT-Anweisung, die drei Spalten, ähnlich wie diesen Grundes Beispiel gibt:Kombinieren/Stapeln von Spalten von Select Ergebnis in MySQL
SELECT alpha, beta, gamma FROM table WHERE (...)
Das WHERE-Klausel tatsächlich ziemlich heftige ist, so dass diese in drei separaten SELECTs Trennung wäre wahrscheinlich eine schlechte Idee. Nun gibt diese eine Tabelle, die etwa wie folgt aussieht:
alpha | beta | gamma
----------------------
apple | (empty) | orange
banana | lemon | apple
Was möchte ich jedoch erreichen, ist nicht das obige Ergebnis, aber die folgenden:
result
-------
apple
orange
banana
lemon
Das heißt, die Ergebnisspalten von der vorherigen SELECT-Anweisung sind "gestapelt" oder "kombiniert" in einer einzigen Spalte. Die Reihenfolge ist nicht wichtig. Leere/fehlende/Null-Felder werden weggelassen und Duplikate (Apple) werden gefiltert, sodass die Liste eindeutige Werte enthält.
Technisch gesehen würde etwas in der Art von UNION funktionieren, aber UNION kombiniert mehrere SELECT-Anweisungen. Ich möchte die Ergebnisspalten aus einer einzelnen SELECT-Anweisung kombinieren.
sind Irgendwelche Vorschläge sehr geschätzt :)
Eine triviale Aufgabe, wenn Sie dies auf Anwendungsebene tun – e4c5
Was ist falsch mit Union verwenden? – GurV
In der Tat. Dennoch war ich vor allem daran interessiert, ob es eine "elegante" Lösung gibt, um das Ergebnis in der Anwendung nicht zu transformieren. Ich hatte gehofft, etwas verpasst zu haben - aber wenn es keine wirkliche Lösung gibt, muss das Anwendungsniveau reichen. – user2581135