Heim >Datenbank >MySQL-Tutorial >Wie extrahiert man effizient Spalten aus Datensätzen, die von einer Datenbankfunktion zurückgegeben werden?
Spalten im von der Funktion zurückgegebenen Datensatz verkettet
Beim Verknüpfen einer Tabelle mit einer Funktion, die mehrere Spalten zurückgibt, ist es wichtig, potenzielle Daten zu berücksichtigen Verkettungsprobleme. Um dieser Herausforderung zu begegnen, untersuchen wir verschiedene Ansätze zum Extrahieren einzelner Spalten aus dem zurückgegebenen Datensatz.
Allgemeiner Ansatz zum Zerlegen von Zeilen
Um die von einer Funktion zurückgegebenen Zeilen zu zerlegen, Verwenden Sie die folgende Syntax:
SELECT * FROM function_name(arguments);
Postgres 9.3 und neuer: Verwenden Sie JOIN LATERAL zum Zerlegen von Ergebnissen
Für Postgres 9.3 oder höher können Sie JOIN LATERAL nutzen, um die Ergebnisse sauberer zu zerlegen:
SELECT ... FROM table_name a JOIN LATERAL function_name(a.accountid, '2014-08-12') f WHERE ...
Postgres 9.2 oder älter: Ergebnisse zerlegen Verwenden einer Unterabfrage
In früheren Postgres-Versionen haben Sie kann die Ergebnisse mithilfe einer Unterabfrage zerlegen:
SELECT ... FROM ( SELECT a.*, function_name(a.accountid, '2014-08-12') AS rec FROM table_name a WHERE ... ) a
Best Practices zum Zerlegen von Ergebnissen
Das obige ist der detaillierte Inhalt vonWie extrahiert man effizient Spalten aus Datensätzen, die von einer Datenbankfunktion zurückgegeben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!