我有51个表(在一个数据库中),具有51个美国州的相同列和模式。我所要做的就是为所有51个表运行相同的查询。每个州的结果应该返回到具有这样的表格式的新表。
Eg. Table name : TX_EED
New Table name :TX_EED_v0
以下是我将针对每个州运行的查询:
Select distinct a.Geoid, Lat, Long, StateCode, CountyCode, PostalCode,StrVal_SFD ,StrVal_MFD,StrVal_MH from EED2013..TX_EED a
inner join
(Select Geoid,
SUM(case when LOBNAME ='SFD'THEN CvgAval_MinThresh else 0 end) as StrVal_SFD,
SUM(case when LOBNAME ='MFD'THEN CvgAval_MinThresh else 0 end) as StrVal_MFD,
SUM(case when LOBNAME ='MH'THEN CvgAval_MinThresh else 0 end) as StrVal_MH
FROM EED2013..TX_EED group by Geoid) b
on a.Geoid =b.Geoid-------7,473,869
答案 0 :(得分:2)
如果您有51个具有相同架构的表,那么您应该只有一个表。顺便说一下,根据美国邮政局的说法,在美国 - DC,波多黎各,关岛,美属维尔京群岛以及各种军事地址都被称为“州”(并且我认为美国人口普查)。
无论如何,请创建一个视图:
create view v_AllStates as
select ak.*
from data_al union all
select al.*
from data_al union all
. . .
select wy.*
from data_wy;
然后,您可以在查询中使用此视图,这可能会简化您的生活。