Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- SELECT
- id,
- a,
- b
- FROM prefix_2014.mytable
- UNION ALL
- SELECT
- id,
- a,
- b
- FROM prefix_2013.mytable
- UNION ALL
- id,
- a,
- b
- FROM prefix_2012.mytable
- WITH CTE AS(SELECT
- id,
- 3 as [Year]
- FROM prefix_2014.mytable
- UNION ALL
- SELECT
- id,
- 2 as [Year]
- FROM prefix_2013.mytable
- UNION ALL
- Select
- id,
- 1 as [Year]
- FROM prefix_2012.mytable)
- Select ID,MAX([Year]) as YR into #T From CTE
- group by ID
- Select t.ID,a,b From #T t
- join Test1 t1
- on t1.id = t.id
- where YR = 1
- UNION ALL
- Select t.ID,a,b From #T t
- join Test2 t2
- on t2.id = t.id
- where YR = 2
- UNION ALL
- Select t.ID,a,b From #T t
- join Test3 t3
- on t3.id = t.id
- where YR = 3
- CREATE VIEW YearIDs AS
- SELECT ID, Max(year) FROM
- (SELECT
- id, 2014 as year
- FROM prefix_2014.mytable
- UNION
- SELECT
- id, 2013
- FROM prefix_2013.mytable
- UNION
- id, 2012
- FROM prefix_2012.mytable)
- GROUP By ID )
- SELECT T1.id, T1.a, T1.b
- FROM prefix_2014.mytable AS T1
- INNER JOIN YearIDs AS Y1 ON Y1.Id = T1.ID AND Y1.year = 2014
- UNION ALL
- SELECT T2.id, T2.a, T2.b
- FROM prefix_2013.mytable AS T2
- INNER JOIN YearIDs AS Y2 ON Y2.Id = T2.ID AND Y2.year = 2013
- UNION ALL
- SELECT T3.id, T3.a, T3.b
- FROM prefix_2012.mytable Y3.Id = T3.ID AND AS T3
- INNER JOIN YearIDs AS Y3 ON Y3.year = 2012
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement