*SELECT COUNT()**
AUS MEHREREN TABELLENBei der Arbeit mit Datenbanktabellen ist es manchmal notwendig, Zählungen aus mehreren Tabellen abzurufen und die Ergebnisse als separate Spalten anzuzeigen. Eine häufige Herausforderung entsteht beim Versuch, Zählwerte aus zwei verschiedenen Tabellen (Tab1 und Tab2) abzurufen.
Die von Ihnen erwähnte Verwendung von UNION ALL ist eine gängige Methode. Diese Methode erzeugt jedoch einen Ergebnissatz mit nur einer Spalte, wobei die Zählungen nacheinander angezeigt werden.
Um diese Einschränkung zu überwinden und die Anzahl in einer separaten Spalte anzuzeigen, ist ein anderer SQL-Ansatz erforderlich:
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual</code>
In dieser Abfrage enthält die SELECT-Anweisung zwei Unterabfragen:
Die FROM-Klausel verwendet die Dual-Tabelle, eine virtuelle Tabelle in der Oracle-Datenbank. Sie gibt immer eine Datenzeile mit nur einer Spalte zurück. Dies ist erforderlich, um eine Ergebnismengenstruktur (ähnlich einem Cross-Join) zu erstellen, die die Zählungen beider Unterabfragen berücksichtigt.
Daher erzeugt diese Abfrage eine Ausgabe mit zwei Spalten: count1 und count2, die jeweils die Zählungen von tab1 und tab2 enthalten. Dieser Ansatz gewährleistet eine klare und geordnete Darstellung der COUNT(*)-Werte aus zwei verschiedenen Tabellen.
Das obige ist der detaillierte Inhalt vonWie erhalte ich separate Zählungen aus mehreren Tabellen in einer einzelnen SQL-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!