【发布时间】:2015-12-05 10:41:21
【问题描述】:
我有以下 JOIN:
SELECT * FROM tableA INNER JOIN tableB USING (commonColumn)
我收到一个错误:
“commonColumn”不是公认的表格提示选项。如果是 旨在作为表值函数的参数或 CHANGETABLE 函数,确保你的数据库兼容模式是 设置为 90。
以下替代方法有效:
SELECT * FROM tableA INNER JOIN tableB ON tableA.commonColumn = tableB.commonColumn
在我的例子中,兼容性级别设置为 100 (SQL Server 2008),而顺便说一下,我正在使用 SQL Server 2012。
我做错了什么?我发现很难找到使用关键字USING 的示例,因为几乎不可能进行相关的网络搜索。然而,当“连接列”具有相同名称时,使用它似乎是正确的......
【问题讨论】:
-
我怀疑 SQL Server 是否支持
USING。我没见过。 -
USING (commonColumn)不是SQL SERVER语法 -
ANSI SQL,但不是 MS SQL。
-
@w0lf 我明白了。我想知道为什么我没有得到关键字 USING 的错误 then...
-
@Antonio 找到了!见stackoverflow.com/q/16616988/390819
标签: sql sql-server sql-server-2008 sql-server-2012