相关疑难解决方法(0)

模糊列名称:为什么在某些情况下它不明确?

如您所知,如果我们选择两个表而我们具有相同的列名,则会收到错误:

'不明确的列名'ColumnName''

我已经知道设置别名确实解决了这个问题.

但是,似乎列的名称不在 SELECT语句中,那么它适用于SQL Server 2008 R2(在我的数据库中).兼容级别设置为100.

所以下面的陈述是有效的:

SELECT t1.ID
FROM Table1 t1 
JOIN Table2 t2 ON (t2.ID = t1.ID) 
ORDER BY ID
Run Code Online (Sandbox Code Playgroud)

但显然在其他情况下,上述声明确实会返回错误(我知道这是因为它发生在客户的网站上).同样在SQL Fiddle上,它在SQL Server 2008和SQL Server 2012上都返回错误.

有人知道为什么在什么情况下上面的查询仍然返回错误?

我的猜测是SQL Server上的版本或设置问题.

注意:链接的副本确实解决了我的问题.兼容级别设置为80.将其更改为100可解决问题.

sql sql-server

0
推荐指数
1
解决办法
1420
查看次数

标签 统计

sql ×1

sql-server ×1