1

左結合内で SQL エイリアスを使用しようとしています。結合でエイリアスを使用しているときに、「on 句の a_alias 列が不明です」というエラーが表示されます。

SELECT a as a_alias FROM table_a LEFT JOIN table_b ON a_alias = b

乾杯

4

3 に答える 3

1

まだ評価されていないため、where または join でエイリアスを使用することはできません。これらは、集計およびグループ化/順序付け/having 句 IIRC でのみ使用できます。

于 2012-06-11T14:41:13.357 に答える
0

クエリでエイリアスを使用する場合は、次のようにします。

SELECT *
FROM 
(
    SELECT a as a_alias
    FROM table_a
) ta
LEFT JOIN table_b 
    ON ta.a_alias = b

SELECT ... FROM括弧で囲み、テーブル エイリアスとカラム エイリアスをJOIN.

于 2012-06-11T14:49:53.050 に答える
0

で使用できる唯一のエイリアスONは、任意のテーブル エイリアスです。SELECT句は文法の最初ですが、(通常)最後処理ステップです。句で要求する予測SELECTはまだ利用できません。SELECT句で定義された列エイリアスを句で使用することはできませんON。完全な列名を指定する必要があります。

于 2012-06-11T14:41:28.053 に答える