连接具有相同列名的2个表时出现模糊列错误

Xit*_*rum 4 sql t-sql sql-server-2008

在我的表中我的表中的{ID,FID,姓名,年龄}
B {ID,Job}

我用的时候

SELECT ID // I want to get the ID of table B //**error**//
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;
Run Code Online (Sandbox Code Playgroud)

错误:列名称ID不明确

无论如何要做到这一点,而不必重命名列名称?(最糟糕的情况)
谢谢

Jac*_*cob 6

SELECT TB.ID
FROM A TA JOIN B TB
ON TA.ID = TB.FID
ORDER BY TA.Name;
Run Code Online (Sandbox Code Playgroud)

使用全名(由点分隔的表名和列名)来专门选择列.

您的查询不符合您描述的表结构,我猜您将表A与表B交换.


Vin*_*Roe 5

SELECT TB.ID  ...
Run Code Online (Sandbox Code Playgroud)

您需要使用表别名在任何位置添加任何不明确的列前缀.