Kombinieren mehrerer SELECT-Anweisungen
Wie Sie bereits erwähnt haben, stehen Sie vor einem Problem, wenn Sie versuchen, mehrere SELECT-Anweisungen zu kombinieren, die jeweils einschränken die Ergebnisse in eine einzelne Zeile. Die Herausforderung entsteht bei der Verwendung von UNION ALL, da die LIMIT-Klausel den Vereinigungsprozess zu stören scheint.
Um dieses Problem zu lösen, können Sie Klammern verwenden, um jede einzelne SELECT-Anweisung einzuschließen. Dadurch wird sichergestellt, dass die Vereinigung korrekt ausgeführt wird, da in der Dokumentation für UNION ausdrücklich angegeben ist, dass ORDER BY- und LIMIT-Klauseln in Klammern eingeschlossen werden müssen, um auf den Unterausdruck und nicht auf das Ergebnis der Vereinigung anzuwenden.
So können Sie Änderungen vornehmen Ihre Abfrage:
(SELECT result FROM foo.table LIMIT 1) UNION ALL (SELECT result FROM bar.table LIMIT 1) UNION ALL (SELECT result FROM doo.table LIMIT 1)
Diese Syntax stellt sicher, dass jede Unteranweisung separat verarbeitet wird, wobei die LIMIT-Klausel auf die einzelnen Ergebnisse angewendet wird. Die Vereinigung wird dann für die einzelnen Zeilenergebnisse durchgeführt, sodass Sie eine einzelne Spalte mit der erwarteten Anzahl von Zeilen erhalten, die mit den Schemanamen übereinstimmen.
Das obige ist der detaillierte Inhalt vonWie kombiniere ich mehrere SELECT-Anweisungen mit LIMIT 1 in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!