ホームページ > データベース > mysql チュートリアル > PostgreSQL で同じクエリの計算列を使用するにはどうすればよいですか?

PostgreSQL で同じクエリの計算列を使用するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-14 07:29:47
オリジナル
620 人が閲覧しました

How Can I Use Calculated Columns from the Same Query in PostgreSQL?

PostgreSQL の同じクエリで計算列を使用する

PostgreSQL では、同じ SELECT ステートメント内でエイリアスを直接使用して計算を行うことはできません。 たとえば、次の SQL ステートメントはエラーを報告します:

<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
FROM data;</code>
ログイン後にコピー

これは、PostgreSQL が total_3 を計算するときに、total_1total_2 がまだ定義されていないためです。

解決策は、サブクエリ (派生テーブル) を使用することです:

<code class="language-sql">SELECT cost_1,
       quantity_1,
       cost_2,
       quantity_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
) t;</code>
ログイン後にコピー

サブクエリ t を作成することで、外側の total_1 ステートメントで使用可能な列として total_2SELECT を定義します。このアプローチではパフォーマンスに悪影響はありません。 total_3 を正しく計算できるように、外側のクエリは内側のクエリの結果セットを参照します。

以上がPostgreSQL で同じクエリの計算列を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート