Heim >Datenbank >MySQL-Tutorial >Wie kann ich Einzelzeilenergebnisse aus mehreren SELECT-Abfragen effizient in einer Spalte kombinieren?

Wie kann ich Einzelzeilenergebnisse aus mehreren SELECT-Abfragen effizient in einer Spalte kombinieren?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 12:31:10612Durchsuche

How Can I Efficiently Combine Single-Row Results from Multiple SELECT Queries into One Column?

Mehrere SELECT-Abfragen zusammenführen

Um Daten aus zahlreichen Schemata zu extrahieren, hat der Benutzer Excel verwendet, um ein Array von SELECT-Anweisungen zu generieren für eine Datenbank, die eine große Anzahl identischer Schemata enthält. Jede Abfrage ruft ein einzelnes Ergebnis ab, mit der Absicht, diese in einer einzigen Spaltenausgabe mit mehreren Zeilen zu kombinieren, die die unterschiedlichen Schemata darstellen.

Der ursprüngliche Ansatz mit sequentiellen SELECT-Abfragen führte dazu, dass nachfolgende Zeilen trotz der Verwendung von UNION verworfen wurden ALLE. Dies liegt daran, dass die LIMIT 1-Klausel jede Unterabfrage auf eine einzelne Zeile beschränkt, was die Fähigkeit von UNION ALL beeinträchtigt, die Ergebnisse zu kombinieren.

Um dieses Problem zu lindern, sorgt das Klammern jeder Unteranweisung für syntaktische Klarheit und ermöglicht die ordnungsgemäße Anwendung von LIMIT:

(SELECT result FROM tbl1 LIMIT 1)
UNION ALL
(SELECT result FROM tbl2 LIMIT 1)

Wie in der UNION-Dokumentation beschrieben, können in Klammern eingeschlossene Unteranweisungen ORDER BY- und LIMIT-Klauseln haben auf sie angewendet. Dadurch werden die Klauseln auf das Ergebnis der Unteranweisung und nicht auf die gesamte UNION-Operation angewendet. Dies ermöglicht den Abruf eines einzelnen Ergebnisses aus jedem Schema und die Kombination dieser Ergebnisse in einer einzelnen Spaltenausgabe.

Das obige ist der detaillierte Inhalt vonWie kann ich Einzelzeilenergebnisse aus mehreren SELECT-Abfragen effizient in einer Spalte kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn