Auswählen mehrerer Spalten aus einer MySQL-Unterabfrage
In MySQL kann es schwierig sein, mehrere Spalten aus derselben Tabelle mithilfe einer Unterabfrage abzurufen. Um dieses Problem anzugehen, erkunden wir verschiedene Ansätze:
Verwenden einer virtuellen Tabelle
Anstatt mehrere Unterabfragen zu erstellen, können Sie mithilfe einer Unterabfrage eine virtuelle Tabelle erstellen. Die Syntax für diesen Ansatz lautet:
SELECT * FROM (SELECT col1, col2, ... FROM original_table) AS virtual_table
Durch die Verwendung dieser virtuellen Tabelle in einem Join können Sie mehrere Spalten aus der angegebenen Tabelle in einer einzigen Abfrage abrufen.
Codebeispiel :
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN ( SELECT id, translation AS trans, language AS lang, attribute FROM attributeTranslation ) AS b ON (a.id = b.attribute AND b.lang = 1)
Verwendung der JOIN-Syntax
Eine andere Möglichkeit besteht darin, die JOIN-Syntax zu verwenden, um mehrere Tabellen zu kombinieren, einschließlich der Originaltabelle und der virtuellen Tabelle. Mit diesem Ansatz können Sie mehrere Spalten aus den verbundenen Tabellen abrufen.
Codebeispiel:
SELECT a.attr, b.id, b.trans, b.lang FROM attribute a JOIN attributeTranslation b ON (a.id = b.attribute AND b.lang = 1)
Das obige ist der detaillierte Inhalt vonWie rufe ich mehrere Spalten aus einer MySQL-Unterabfrage ab: Virtuelle Tabellen vs. JOIN-Syntax?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!