【发布时间】:2015-08-20 18:33:24
【问题描述】:
我的第一个表及其数据是:
DECLARE @TempTableA TABLE (FinYearVal VARCHAR(9))
FinYearVal
----------
2007-2008
2008-2009
2009-2010
2010-2011
2011-2012
2012-2013
2013-2014
2014-2015
然后我有另一个数据表:
DECLARE @TempTableB TABLE (Category VARCHAR(10), FinYear VARCHAR(9), AMOUNT NUMERIC(18,10))
Category FinYear AMOUNT
---------- ------------- ----------
A 2013-2014 100.0000
A 2014-2015 200.0000
B 2012-2013 100.0000
B 2013-2014 200.0000
B 2014-2015 300.0000
B 2015-2016 400.0000
C 2011-2012 100.0000
C 2012-2013 200.0000
我希望我的 Table1 与每个类别的 Table2 右连接,就像我们分别右连接和联合数据一样。
预期结果是:
Category FinYearVal AMOUNT
---------- ---------- ----------
A 2007-2008 0.0000
A 2008-2009 0.0000
A 2009-2010 0.0000
A 2010-2011 0.0000
A 2011-2012 0.0000
A 2012-2013 0.0000
A 2013-2014 100.0000
A 2014-2015 200.0000
B 2007-2008 0.0000
B 2008-2009 0.0000
B 2009-2010 0.0000
B 2010-2011 0.0000
B 2011-2012 0.0000
B 2012-2013 100.0000
B 2013-2014 200.0000
B 2014-2015 300.0000
C 2007-2008 0.0000
C 2008-2009 0.0000
C 2009-2010 0.0000
C 2010-2011 0.0000
C 2011-2012 100.0000
C 2012-2013 200.0000
C 2013-2014 0.0000
C 2014-2015 0.0000
注意:我的 Table2 有许多类别,我可以在其中动态选择要在查询中加入多少个类别。
【问题讨论】:
-
有类别表吗?
标签: sql sql-server join cross-apply