使用UNION ALL語句,像這樣創建一個視圖:
CREATE VIEW dbo.vwZipCode
AS
SELECT zip_year, state_code, zip_code, area_code, county_FIPS, county_name, preferred, zip_code_type
FROM (
SELECT 2010 AS zip_year, state_code, zip_code, area_code, county_FIPS, county_name, preferred, zip_code_type
FROM dbo.tblZipCode2010
UNION ALL
SELECT 2011 AS zip_year, state_code, zip_code, area_code, county_FIPS, county_name, preferred, zip_code_type
FROM dbo.tblZipCode2010
UNION ALL
SELECT 2012 AS zip_year, state_code, zip_code, area_code, county_FIPS, county_name, preferred, zip_code_type
FROM dbo.tblZipCode2010
UNION ALL
SELECT 2013 AS zip_year, state_code, zip_code, area_code, county_FIPS, county_name, preferred, zip_code_type
FROM dbo.tblZipCode2010
...
) x
WHERE zip_year = YEAR(GETDATE())
儘可能提前執行,只要你喜歡。
這就是說,在另一個答案中提到的同義詞解決方案是您更好的選擇。
您將需要動態SQL,並且視圖的定義中只能包含簡單的單個select語句。存儲過程在我看來是你在這裏唯一的選擇。 – 2014-09-04 14:33:35