在多个表上使用迭代?

时间:2013-02-21 20:16:38

标签: tsql iteration unpivot union-all

我目前使用以下查询来取消忽略单个表:

SELECT Fund
    ,Department
    ,[Business Unit]
    ,[Obj Acct]
    ,Sub
    ,YearDate
    ,MonthDate
    ,Actuals
FROM 
(SELECT Fund
    ,Department
    ,[Business Unit]
    ,[Obj Acct]
    ,Sub
    ,YearDate
    ,[01] ,[02] ,[03] ,[04] ,[05] ,[06] ,[07] ,[08] ,[09] ,[10] ,[11] ,[12]
    FROM GF2001 ) as GF01
UNPIVOT
(Actuals FOR MonthDate IN ([01],[02],[03],[04],[05],[06],[07],[08],[09],[10],[11],[12])
) as mnths

我必须对10个表(GF2001,GF2002等)执行此操作,我现在正在每个表上重复上述查询,使用UNION ALL将它们放入一个结果集中。这工作得很好,但是任何人都可以通过使用迭代来逐步完成10个表来建议更简洁的方法吗?我还在学习SQL,所以任何人可以指导我指导正确方向的指导都会非常棒。

0 个答案:

没有答案