-1

这是我的查询:

SELECT  

a.[Hierarchy Group ID],
o.[Opportunity ID],
o.[Opportunity Name],
o.[ARR],
o.[TCM],
p.[Product Group],
a.[Account Management Scope],


FROM OpportunityTable as o 
LEFT JOIN AccountTable as a ON o.[Account ID]=a.[Account ID] 
LEFT JOIN ProductTable as p ON o.[Product Lookup]=p.[Product ID]

WHERE 
o.[Stage] = 'Value' 
a.[Account Management Scope] in ('Value 1','Value 2','Value 3')

当我运行此查询时,我会为 Hierarchy Group ID 和 Account Management Scope 的某些行(但不是全部)获得空值,即使我知道这些值不为空。但是,当我添加一个额外的“WHERE [Account ID] = 'Specific Value'”时,Hierarchy Group ID 和 Account Management Scope 的值突然出现在那个只显示空值的特定帐户上。我加入这三个表的方式是否有问题导致这种情况发生?

4

1 回答 1

0

因为您使用的是左连接,所以 OpportunityTable 中的每一行的结果都会有一行,无论其他表中是否有匹配的行。当没有匹配的连接行时,您将获得其他表中列的 NULL。

于 2015-12-10T19:01:48.097 回答