SQL 多个重复表

问题描述 投票:0回答:1

我一次从 2 个表中查询结果,其中有重复的模式。

select abc, xyz
from
2010_Q1_result 
inner join 2010_Q1_run

(接下来是 2010_Q2... 内连接 2010_Q2_run 一直到 2024_Q1_结果 内连接 2024_Q1_run)。到目前为止,我一直在查询中手动更改年份和季度,并一一提取结果。

如何将其自动化为单个查询?

sql sql-server sql-server-2012
1个回答
0
投票

您可以考虑使用 UNION 拉取一次:

select 2010 as year, 'q1' as quarter, abc, xyz
from
2010_Q1_result 
inner join 2010_Q1_run
UNION ALL
select 2010 , 'q2' , abc, xyz
from
2010_Q2_result 
inner join 2010_Q2_run
UNION ALL
select 2010 , 'q3', abc, xyz
from
2010_Q3_result 
inner join 2010_Q3_run
UNION ALL
....

一旦写入,就会吐出每条记录,其中的列表示年份和列。您可以将整个讨厌的东西扔到视图中,然后只需

SELECT * FROM my_view_that_I_made
,这样您就不必每次想要查询时都写这个。

© www.soinside.com 2019 - 2024. All rights reserved.