使用MS Access和SQL,如何在单个表上的2个单独的SELECT查询中创建一个表和一组列?

时间:2012-05-21 17:57:41

标签: sql ms-access

背景
我知道这个问题有点奇怪,但这是解释。

我的数据库中有TableA。然后,我有两个单独的查询,包含来自其他两个主表的连接:

SELECT TableA.*
FROM MasterTable_1 INNER JOIN TableA
ON MasterTable_1.ID = TableA.ID
WHERE MasterTabe_1.Field = 'some specific value';

SELECT TableA.*
FROM MasterTable_2 INNER JOIN TableA
ON MasterTable_2.ID = TableA.ID
WHERE MasterTabe_2.Field = 'some specific value';

我现在在{2}查询,相同列和所有内容中都有来自TableA的值,但这实际上就像有两个表,我无法弄清楚如何从所有数据中获取一个表和一组列。

问题
所以,我的问题是如何从单独的SELECT / JOIN查询中获取TableA值到一个包含一组列的表中,我可以在该最终表上调用SELECT DISTINCT

如果需要更多解释,请告诉我。希望我能够很好地解释它。

2 个答案:

答案 0 :(得分:2)

您可能想要使用UNION:

SELECT TableA.*
FROM MasterTable_1 INNER JOIN TableA
ON MasterTable_1.ID = TableA.ID
WHERE MasterTable_1.Field = 'some specific value';
UNION ALL
SELECT TableA.*
FROM MasterTable_2 INNER JOIN TableA
ON MasterTable_2.ID = TableA.ID
WHERE MasterTable_2.Field = 'some specific value';

答案 1 :(得分:0)

你尝试过UNION吗?如果仍需要在单个结果集中进行过滤,还可以使用常量值为每个表添加一个附加列。