不怕麻烦和不考虑效率的情况下。
select * from (上面语句,去掉日期的判断) as t_all
left join(上面的语句,日期判断为第一季度) as t_1 on t_all.业务员=t_1.业务员 and t_all.类别=t_1.类别 and t_all.任务=t_1.任务
left join(上面的语句,日期判断为第二季度) as t_2 on t_all.业务员=t_2.业务员 and t_all.类别=t_2.类别 and t_all.任务=t_2.任务
left join(上面的语句,日期判断为第三季度) as t_3 on t_all.业务员=t_3.业务员 and t_all.类别=t_3.类别 and t_all.任务=t_3.任务
left join(上面的语句,日期判断为第四季度) as t_4 on t_all.业务员=t_4.业务员 and t_all.类别=t_4.类别 and t_all.任务=t_4.任务
您好,这个是我查询的第三季度的数据,然后每个季度出的数据都是一样的,就是不知道怎么联。代码如下
select tab3.fname as 业务员,t3.fname as 类别,t4.FBudgeAmount as 任务,
sum(t2 .FConsignAmount) as 完成,(sum(t2 .FConsignAmount)-t4.FBudgeAmount) as 差额,
cast((sum(t2 .FConsignAmount)/t4.FBudgeAmount)*100 as varchar)+'%' as 完成率
from ICStockBill t1
inner join ICStockBillEntry t2 on t1.FInterID=t2.FInterID
inner join t_Emp tab3 on tab3.FItemID=t1.FEmpID
inner join t_Item_3002 t3 on t3.FItemID=t1.FHeadSelfB0163
inner join t_BM_SaleBudgetEntry t4 on t4.Fbase1=t3.FItemID
inner join t_BM_SaleBudget t5 on t4.FID=t5.FID and t5.FEmpID=tab3.FItemID
inner join t_BM_ProjectEntry t6 on t5.fprojectid=t6.FID
inner join t_BM_Project t7 on t6.FID=t7.FID
Where FTranType = 21 and t1.FStatus=1 and month(t1.fdate)>=7 and month(t1.fdate)<=9
and month(t6 .FBeginDate)>=7 and month(t6.FEndDate)<=9
group by t3.FName,t4.FBudgeAmount,tab3.fname