使用 Ambiguous column name 的 ProgrammingError 合并 SQL 中的两个表

Merging two tables in SQL with ProgrammingError of Ambiguous column name

我正在尝试合并两个 table。我对此有点陌生,但我相信 table 是 dbo.Detail 和 Com.All_Calls_List

dbo.Detail 有我想要获取的三列:CallID 和 ResponsibleParty Com.All_Calls_List 有四列:CallID、CompanyName、Receiveddate、CustomerType

我想按 CallID 合并 table 并将 ResponsibleParty 作为列添加到 table。

cnxn = pyodbc.connect("DSN=MYDSNCONNECTION")
cursor = cnxn.cursor()

cursor.execute("select CallID, CompanyName, recvd_dttm, CustType, ResponsibleParty from dbo.Detail, Com.All_Calls_List where Com.All_Calls_List.CallID = dbo.Detail.CallID")

这是一个 [SQL Server Native Client 10.0][SQL Server]Ambiguous column name 'CallID'. 的编程错误 我查了这个错误,我知道这是因为 CallID 在两个 table 中都是重复的列。我已经阅读了其他人是如何解决它的,但是他们的 tables 和目标非常不同,以至于我不知道如何在这里应用它。感谢您的任何建议。

select Com.All_Calls_List.CallID, CompanyName, recvd_dttm, CustType, ResponsibleParty
from dbo.Detail join Com.All_Calls_List 
on Com.All_Calls_List.CallID = dbo.Detail.CallID

如果一个列在两个 table 中都存在,建议您使用 table 名称。此外,当您加入 callID 上的 table 时,从 table 中选择任何一个都会得到相同的结果。