tho*_*mad 7 sql union ms-access unique
我有两个数据表.两个表都有一CUSTOMER_ID
列(数字).我试图得到所有唯一值的列表,CUSTOMER_ID
并知道CUSTOMER_ID
两个表中是否存在或只存在一个(以及哪一个).
我可以很容易地得到一个独特的列表CUSTOMER_ID
:
SELECT tblOne.CUSTOMER_ID
FROM tblOne.CUSTOMER_ID
UNION
SELECT tblTwo.CUSTOMER_ID
FROM tblTwo.CUSTOMER_ID
Run Code Online (Sandbox Code Playgroud)
我不能只为SELECT
statemtn 添加一个标识符列(如:),SELECT tblOne.CUSTOMER_ID, "Table1" AS DataSource
因为那时记录不是唯一的,它将获得两组数据.
我觉得我需要在此查询中的其他位置添加它,但我不确定如何.
对于联合查询输出,我需要一个额外的列,可以告诉我我看到的唯一值是否存在于:(1)两个表,(2)表一或(3)表二.
Gor*_*son 12
如果CUSTOMER_ID出现在两个表中,那么我们将不得不随意选择要调用源的表.在这种情况下,以下查询使用"tblOne"作为[SourceTable]:
SELECT
CUSTOMER_ID,
MIN(Source) AS SourceTable,
COUNT(*) AS TableCount
FROM
(
SELECT DISTINCT
CUSTOMER_ID,
"tblOne" AS Source
FROM tblOne
UNION ALL
SELECT DISTINCT
CUSTOMER_ID,
"tblTwo" AS Source
FROM tblTwo
)
GROUP BY CUSTOMER_ID
Run Code Online (Sandbox Code Playgroud)