2015-08-05 2 views
0

Я пытаюсь объединить две таблицы. Я немного новичок в этом, но я считаю, что таблицы dbo.Detail и Com.All_Calls_ListОбъединение двух таблиц в SQL с помощью программированияError of Неоднозначное имя столбца

dbo.Detail имеет три колонки, которые я хочу получить: CallID и ResponsibleParty Com.All_Calls_List имеет четыре колонки: CallID, CompanyName, Receiveddate, CustomerType

Я хочу объединить таблицы по CallID и добавить ResponsibleParty в качестве столбца в таблицу.

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 является дубликат колонки в обеих таблицах. Я прочитал, как другие люди решили это, но их таблицы и цели были достаточно разными, и я не мог понять, как их применять здесь. Спасибо за любые предложения.

ответ

1
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 

Предлагается использовать имя таблицы, если столбец существует в обеих таблицах. Кроме того, когда вы присоединяетесь к таблицам по callID, выбор из одной таблицы дает тот же результат.

+0

Интересно. Это имеет смысл, и ваше решение сработало. Спасибо. – jenryb

Смежные вопросы