Heim >Datenbank >MySQL-Tutorial >Wie kann ich Einzelzeilenergebnisse aus mehreren SELECT-Abfragen effizient in einer Spalte kombinieren?
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!