Heim > Datenbank > MySQL-Tutorial > Wie kann ich berechnete Spalten in PostgreSQL-Abfragen fehlerfrei verwenden?

Wie kann ich berechnete Spalten in PostgreSQL-Abfragen fehlerfrei verwenden?

Patricia Arquette
Freigeben: 2025-01-14 06:06:42
Original
555 Leute haben es durchsucht

How Can I Use Calculated Columns in PostgreSQL Queries Without Errors?

Berechnete PostgreSQL-Spalten: Problemumgehungen für Einschränkungen

PostgreSQLs Umgang mit berechneten Spalten unterscheidet sich von anderen Datenbanksystemen. Der direkte Verweis auf berechnete Spalten später in derselben Abfrage wird nicht unterstützt. Diese Einschränkung wird durch das folgende Beispiel veranschaulicht, das einen Fehler erzeugt:

<code class="language-sql">SELECT cost_1, quantity_1, cost_2, quantity_2, 
       (cost_1 * quantity_1) AS total_1,
       (cost_2 * quantity_2) AS total_2,
       (total_1 + total_2) AS total_3  -- Error: total_1 and total_2 are not found
FROM data;</code>
Nach dem Login kopieren

Der Fehler tritt auf, weil PostgreSQL die Abfrage Zeile für Zeile verarbeitet. total_1 und total_2 sind für nachfolgende Berechnungen innerhalb derselben SELECT-Anweisung nicht verfügbar.

Die Lösung besteht darin, eine Unterabfrage (abgeleitete Tabelle) zu verwenden, um die anfänglichen Berechnungen zu kapseln. Dadurch können die Ergebnisse in der äußeren Abfrage referenziert werden:

<code class="language-sql">SELECT cost_1, quantity_1, cost_2, quantity_2, total_1, total_2,
       total_1 + total_2 AS total_3
FROM (
    SELECT cost_1, quantity_1, cost_2, quantity_2, 
           (cost_1 * quantity_1) AS total_1,
           (cost_2 * quantity_2) AS total_2
    FROM data
) AS t;</code>
Nach dem Login kopieren

Durch die Verschachtelung der Berechnungen von total_1 und total_2 innerhalb der inneren SELECT-Anweisung (alias t) werden sie für weitere Berechnungen in der äußeren SELECT-Anweisung zugänglich und verwendbar. Diese Methode bietet eine praktische und effiziente Möglichkeit, mit berechneten Spalten in PostgreSQL ohne nennenswerten Leistungsaufwand zu arbeiten.

Das obige ist der detaillierte Inhalt vonWie kann ich berechnete Spalten in PostgreSQL-Abfragen fehlerfrei verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage