Sql server 2008 如何在sql Server 2008中的两个表中使用pivot查询

Sql server 2008 如何在sql Server 2008中的两个表中使用pivot查询,sql-server-2008,Sql Server 2008,我想使用两个不同的表使用pivot查询。 我有两张表,一张是预付款,另一张是支出。 我已向gp预付款,并从gpadvance获得预付款报告。第二个是gp在GPExpense表中保存的支出。现在我想相应地使用pivot表 您可以看到第一列数据来自gpadvance,第二列数据来自GPExpenseFuture 如果gp是否花钱,我想使用单个查询来使用这两个表数据, iam将以下数据透视表用于高级版本 select * from ( select Unit_Name,gpname,isnul

我想使用两个不同的表使用pivot查询。 我有两张表,一张是预付款,另一张是支出。 我已向gp预付款,并从gpadvance获得预付款报告。第二个是gp在GPExpense表中保存的支出。现在我想相应地使用pivot表 您可以看到第一列数据来自gpadvance,第二列数据来自GPExpenseFuture

如果gp是否花钱,我想使用单个查询来使用这两个表数据, iam将以下数据透视表用于高级版本

select * from
(
    select Unit_Name,gpname,isnull(amount,0)as amount,Mcomponent 
    from AdvGP_report 
    where unit_id='7' and year='2014-15' and quarter='4'
) as s
pivot
(
     sum(amount) for mcomponent in("1","2","3")
) as a
第二个数据透视查询是

(
   select isnull(financialtarget,0)as FT,MinorComponent_Id 
   from GPWDPMPR 
   where unitid='7' and mpryear='2014-15'
) as i
pivot
(
   sum(FT) for MinorComponent_Id in("19","4","8")
) as b

它给出了结果,但重复了很多次。

在哪个查询中有问题?我想同时添加两个查询您可以将预期输出添加到问题中吗?您希望将其作为单个结果还是多个结果。从你的问题中不清楚结果是我在不同的头脑中给了GP多少进步,他在同一个头脑中花费了多少,结果是在同一排。所以我尝试使用透视表。我尝试了all join查询,但数据重复了很多次。