1

SQL Server 2008を使用している会社で作業を行っています。ストアドプロシージャの1つが、存在しない列を参照している(または参照しているように見える)にもかかわらず、エラーは発生していません。

クエリの構造は次のとおりです。

         select col1, col2 from FOO
         where col3 in
         (select id from BAZ where datecreated between @date1 and @date2)

** BAZには[datecreated]という列は含まれていませんが、FOOには含まれています。**次のように列名を修飾するようにクエリを変更すると、エラーが発生します。

        select col1, col2 from FOO
         where b in
         (select id from BAZ where BAZ.datecreated between @date1 and @date2)

これが設計による動作である場合、誰かが関連するドキュメントを教えてくれませんか?ありがとう

4

1 に答える 1

3

仕様によるものです。

相関サブクエリの外部クエリから列にアクセスすることは完全に有効です。これは、場合によっては望ましいセマンティクスである可能性があります。

于 2012-01-19T14:26:49.050 に答える