SQL Server:多个重复表

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

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

select 
    abc, xyz
from
    2010_Q1_result 
inner join 
    2010_Q1_run

(接下来是

2010_Q2
...
inner join 2010_Q2_run
一直到
2024_Q1_result inner join 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.