0

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

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

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';

我现在有来自TableA2 个查询、相同列和所有内容的值,但这真的就像有 2 个表,我无法弄清楚如何从所有数据中获取一个表和一组列。

问题
所以,我的问题是如何TableA将单独的 SELECT/JOIN 查询中的值放入一个包含一组列的表中,我可以SELECT DISTINCT在该表中调用该最终表。

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

4

2 回答 2

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';
于 2012-05-21T18:00:59.447 回答
0

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

于 2012-05-21T18:00:59.693 回答