【发布时间】:2017-11-26 17:57:27
【问题描述】:
我想加入 5 个表以得出 3 个不同的结果集。
我的桌子是:
- 客户 - 包含电子邮件地址(唯一 ID)、电子邮件地址域名、帐户名称、人口统计信息等(客户)
- 产品 1 客户帐户名称 (Product1Accounts)
- 产品1客户邮箱地址域名(Product1Domains)
- 产品 2 客户帐户名称 (Product2Accounts)
- 产品 2 客户电子邮件地址域名 (Product2Domains)
我需要的 3 个结果是:
- 产品 1 客户不包括产品 2 客户
- 产品 2 客户不包括产品 1 客户
- 产品 1 和 2 的客户
旁注:每个产品的客户都可以通过帐户或域名来识别。
我可以创建以下内容以在表 1、2、3 或 1、4、5 上找到匹配项,但我对如何合并排除项感到困惑
SELECT *
FROM Customers
INNER JOIN Product1Accounts
ON Customers.Company=Product1Accounts.Account
UNION
SELECT *
FROM Customers
INNER JOIN Product1Domains
on Customers.Email_Address_Domain=Product1Domains.Domain
我也不确定如何获得我正在寻找的第三个结果集...任何关于如何更好地编写此代码的帮助或建议将不胜感激。
【问题讨论】:
-
你在用什么rdbms?
-
SQL Server Express 2017 / SQL Server Management Studio
标签: sql sql-server join union