左結合内で SQL エイリアスを使用しようとしています。結合でエイリアスを使用しているときに、「on 句の a_alias 列が不明です」というエラーが表示されます。
SELECT a as a_alias FROM table_a LEFT JOIN table_b ON a_alias = b
乾杯
まだ評価されていないため、where または join でエイリアスを使用することはできません。これらは、集計およびグループ化/順序付け/having 句 IIRC でのみ使用できます。
クエリでエイリアスを使用する場合は、次のようにします。
SELECT *
FROM
(
SELECT a as a_alias
FROM table_a
) ta
LEFT JOIN table_b
ON ta.a_alias = b
をSELECT ... FROM
括弧で囲み、テーブル エイリアスとカラム エイリアスをJOIN
.
で使用できる唯一のエイリアスON
は、任意のテーブル エイリアスです。SELECT
句は文法の最初ですが、(通常)最後の処理ステップです。句で要求する予測SELECT
はまだ利用できません。SELECT
句で定義された列エイリアスを句で使用することはできませんON
。完全な列名を指定する必要があります。