在子句范围中



我正在为一家拥有SQL Server 2008的公司做一些工作。其中一个存储过程引用(或似乎引用)了一个不存在的列,但没有错误。

查询具有以下结构:

         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)

如果这是设计行为,有人能给我指一下相关文件吗?感谢

它是经过设计的。

从关联子查询中的外部查询访问列是完全有效的。在某些情况下,这可能是所需的语义。

相关内容

  • 没有找到相关文章

最新更新