【发布时间】:2014-03-18 16:25:34
【问题描述】:
我想将 3 个表连接在一起,让它返回一个结果为空的数据。
tblCustomer 是始终具有所需结果的主表。然后它将绑定到另外 2 个表 tblEvents 和 tblPending,并应返回其中任何一个的数据。
例子
tblCustomer.CustomerID tblEvents.EventID tblPending.PendingID
1 50 NULL
1 51 NULL
2 NULL 30
2 70 NULL
2 NULL 90
我试过像这样外部连接表格:
dbo.tblEvents
LEFT OUTER JOIN dbo.tblCustomer
ON dbo.tblEvents.CustomerID = dbo.tblCustomer.CustomerID
LEFT OUTER JOIN dbo.tblPending
ON dbo.tblCustomer.CustomerID = dbo.tblPending.CustomerID
但它给了我这样的结果:
CustomerID EventID PendingID
2 70 30
2 70 90
是否有一种简单的方法可以使其连接到客户表但不尝试连接到附加表。 IE Pending 和 Event 之间没有任何关系,只是它们都与 Customer 相关。
【问题讨论】:
-
您将其标记为 mysql 和 sqlserver。您真的需要两者的解决方案吗?
-
对不起,你是对的。我已经删除了 mysql 标签。我正在使用 Microsoft SQL Server 2013。
-
没有 SQL Server 2013 这样的东西。现在还没有出来的是 ether 2012 或 2014。
标签: sql sql-server join