这显然是 SQL Server 中正确的语法:
SELECT a.id, b.name
FROM Table1 a, Table2 b
WHERE a.id = b.fk1
这是这样的:
SELECT a.id, c.status
FROM Table1 a
JOIN Table3 c ON a.id = c.fk2
但这显然不是:
SELECT a.id, b.name, c.status
FROM Table1 a, Table2 b
JOIN Table3 c ON a.id = c.fk2
WHERE a.id = b.fk1
我通常不想以第三种情况的样式构建查询(实际上也不是第一种情况),但这可能是编辑我公司已经编写的一些代码时阻力最小的路径。有人将第一个表格用于五个不同的表,我真的需要通过 JOIN 语句在第六个表中工作,而不要冒险弄乱他们已经拥有的东西。即使我可以根据需要直接重写他们的东西,但我真的很想知道如何在第三种情况下做类似的事情。
在示例中完全按原样运行代码,第三种情况给我这个错误消息:
The multi-part identifier "a.id" could not be bound.
什么在语法上打破了第三种情况?可以应用什么简单的修复?谢谢!