我试图从各种源表返回数据的时间线,理想情况下我希望第一个语句与最后一个语句同时开始执行。可以在SQL Management studio中完成吗? 我可以强制第二个和第三个select语句与第一个语句同时运行吗?
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_A
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_B
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_C
我可能会在单独的CTE中输出结果,然后在最后将它们组合起来以创建发生时间的时间表。
我的期望是,这将花费更少的时间来运行顺序。
我已经找到了答案,而我所见过的最接近的是一种即时创建和运行作业的方法,但我看不出如何使用该方法获取数据集。
感谢任何想过这个的人。
答案 0 :(得分:0)
您可以使用UNION
组合结果,如果这是您之后的结果:
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_A
UNION
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_B
UNION
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_C
这将返回一个表,其中每个SELECT
的结果相互附加。它只需要在每个SELECT
中匹配列。
参考:
将两个或多个查询的结果合并到一个结果集中 包括属于union中所有查询的所有行。 UNION操作与使用组合列的连接不同 从两张桌子。
以下是组合的基本规则 使用UNION的两个查询的结果集:
- 数量和顺序 所有查询中的列必须相同。
- 数据类型必须是 兼容。
答案 1 :(得分:0)
在您的查询之间使用UNION
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_A
UNION
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_B
UNION
SELECT ACTIVITY_DATE, ACTIVITY_TYPE
FROM TABLE_C