我正在尝试创建一个SQL查询,但是出现此错误:
歧义列名'description'。
因为此列在两个表中都出现。
如果我从查询中删除描述,它将起作用。我试图重命名描述字段“ AS description_pointer”,但仍然发生错误。
SELECT TOP 1000 [activityid]
,[activitytypecodename]
,[subject]
,[regardingobjectid]
,[contactid]
,[new_crmid]
,[description] AS description_pointer
FROM [crmtestext_MSCRM].[dbo].[FilteredActivityPointer] as I
Left JOIN [crmtestext_MSCRM].[dbo].[FilteredContact]
ON I.[regardingobjectid] = [crmtestext_MSCRM].[dbo].[FilteredContact].[contactid]
WHERE new_crmid not like '%Null%' AND activitytypecodename like '%E-mail%'
两个在查询中都起作用的表都有一个名为description
的列。您需要在表名(或表别名)前添加列名以消除歧义。
底线,在查询中使用多个表后,最好始终在表名或别名之前为列名加上前缀。这样可以避免您在这里看到的问题,并使那些不了解基础架构的可怜人更容易理解查询。