2016-08-11 7 views
4

厳密に型指定されたSQLテーブルオブジェクトをエイリアス化した後でも直接参照することは可能ですか?あなたができない、SQLテーブルエイリアスを無視することはできますか?

SELECT 
    * 
FROM dbo.MyTable MT 
    INNER JOIN dbo.AnotherTable AT ON 
     MT.Col1 = AT.Col2 
WHERE 
    dbo.MyTable.Col3 = 'Foo' 
+0

興味深い質問がありましたが、これにつながったのは何ですか? – Ric

+0

私は、入力パラメータに基づいて連結された動的SQLを持っています。たとえば(上記のスクリプトを参照)、 'SELECT'と' FROM'節全体が動的部分です。 WHERE句は、WHERE句がパラメータとして渡されたかどうかに基づいて連結されます。プロシージャを実行するユーザーは、テーブル名だけ異なる別名を必ずしも知る必要はありません。 –

+0

'FROM'句を制御しないと、同じテーブルを複数回簡単にインクルードすることができます。エイリアスを使用することができる重要な機能の1つです。そのような場合にどのように動作するのか状況? –

答えて

6

番号:

はたとえば、次のスクリプトはThe multi-part identifier "dbo.MyTable.Col3" could not be bound例外をレンダリングします。

FROM (Transact-SQL)から引用すると:別名が定義されている場合

テーブル名を使用することはできません。

関連する問題