/*----++++*
select t1.c_store_id AS 机构代码,
t1.c_adno AS 部门, 
tb_depart.c_name AS 部门名称,
isnull(JHD.c_plan_sale,0) as 计划销售额,
isnull(t2.c_sale,0) as 实际销售额,
(case when isnull(JHD.c_plan_sale,0)=0 then 0 else isnull(t2.c_sale,0)/isnull(JHD.c_plan_sale,0) end ) as  销售达成率,
isnull(t2.c_sale,0)-isnull(JHD.c_plan_sale,0) as 销售差额,
isnull(t2.c_at_sale,0) as 销售成本含税进价,
isnull(JHD.c_plan_profit,0) as 计划毛利额,
isnull(t2.c_sale,0)-isnull(t2.c_at_sale,0) as 实际销售毛利额,
(case when ISNULL(JHD.c_plan_profit,0)=0 then 0 else (ISNULL(t2.c_sale,0)-isnull(t2.c_at_sale,0))/isnull(JHD.c_plan_profit,0)end) as 毛利额达成率,
isnull(t2.c_sale,0)-isnull(t2.c_at_sale,0)-isnull(JHD.c_plan_profit,0) as 毛利差额,
ISNULL(t2.c_number_lost,0) as 报损数量,
ISNULL(t2.c_a_lost,0) as 报损金额售价,
ISNULL(t2.c_at_lost,0) as 报损金额进价,
(case when isnull(t2.c_sale,0)=0 then 0 else ISNULL(t2.c_a_lost,0)/isnull(t2.c_sale,0) end) as 报损率,
isnull(t11.c_number,0) as 期初库存数量,
isnull(t11.c_a,0) as 期初库存售价,
isnull(t11.c_at_cost,0) as 期初库存含税进价,
isnull(t11.c_a_cost,0) as 期初库存不含税进价,
ISNULL(t12.c_number,0) as 期末库存数量,
isnull(t12.c_a,0) as 期末库存售价,
isnull(t12.c_at_cost,0) as 期末库存含税进价,
isnull(t12.c_a_cost,0) as 期末库存不含税进价,
(case when isnull(t2.c_sale,0)*2=0 then 0 else (DATEDIFF(DAY,@开始时间__datetime,@结束时间__datetime)+1)*(isnull(t11.c_a,0)+ISNULL(t12.c_a,0)) /(isnull(t2.c_sale,0)*2) end) as 实际存货周转天数售价,
(case when isnull(t2.c_at_sale,0)*2=0 then 0 else (DATEDIFF(DAY,@开始时间__datetime,@结束时间__datetime)+1)*(isnull(t11.c_at_cost,0)+ISNULL(t12.c_at_cost,0)) /(isnull(t2.c_at_sale,0)*2) end) as 实际存货周转天数含税进价from
(
select tbs_d_adno.c_store_id,tbs_d_adno.c_adno
from tbs_d_adno (nolock),
(
select c_store_id,c_adno,max(c_dt) as c_dt
from tbs_d_adno (nolock) 
where ( @机构='' or c_store_id like @机构+'%' ) and ( @部门='' or c_adno like @部门+'%' or charindex(','+c_adno+',',','+@部门+',')>0 )
and len(c_adno) = @部门层次__int
and datediff(day,c_dt,@结束时间__datetime) >= 0
group by c_store_id,c_adno
) e
where ( @机构='' or tbs_d_adno.c_store_id like @机构+'%' ) and ( @部门='' or tbs_d_adno.c_adno like @部门+'%' or charindex(','+tbs_d_adno.c_adno+',',','+@部门+',')>0 )
and len(tbs_d_adno.c_adno) = @部门层次__int
        AND tbs_d_adno.c_store_id = e.c_store_id 
AND tbs_d_adno.c_adno = e.c_adno
AND tbs_d_adno.c_dt = e.c_dt 
group by tbs_d_adno.c_store_id, tbs_d_adno.c_adno
)t1 left join
(
SELECT tbs_d_adno.c_store_id,tbs_d_adno.c_adno as c_adno,
sum(round(tbs_d_adno.c_at_rec,2)) AS c_at_rec,收货金额
sum(round(tbs_d_adno.c_at_ret,2)) AS c_at_ret,退货额
sum(round(tbs_d_adno.c_at_move_in,2)) AS c_at_move_in,调入金额
sum(round(tbs_d_adno.c_at_move_out,2)) AS c_at_move_out,调出金额
sum(round(tbs_d_adno.c_at_lost,2)) AS c_at_lost,报损金额
sum(round(tbs_d_adno.c_at_sale,2)) AS c_at_sale,销售成本
sum(round(tbs_d_adno.c_at_use,2)) AS c_at_use, 领用金额
sum(round(tbs_d_adno.c_sale-tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_sale_tax,
sum(tbs_d_adno.c_sale) as c_sale,销售额
SUM(c_number_lost) as c_number_lost,报损数量
sum(round(tbs_d_adno.c_a_lost,2)) AS c_a_lost报损金额售价,
SUM(c_number) as c_number,存量
sum(round(tbs_d_adno.c_a,2)) as c_a,本日余额
sum( round(tbs_d_adno.c_a_cost,2)) as c_a_cost本日余额不含税进价,   
    sum( round(tbs_d_adno.c_at_cost,2)) as c_at_cost,本日余额 含税进价
        sum(round(tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_nt_sale,
sum(round(tbs_d_adno.c_at_price,2)) AS c_at_price 提价金额 含税进价           
FROM tbs_d_adno (nolock) 
where ( @机构='' or tbs_d_adno.c_store_id like @机构+'%' ) and ( @部门='' or c_adno like @部门+'%' or charindex(','+c_adno+',',','+@部门+',')>0 )
and len(tbs_d_adno.c_adno) = @部门层次__int
and datediff(day,@开始时间__datetime,c_dt) = 0 

group by tbs_d_adno.c_store_id,tbs_d_adno.c_adno
)t11 on t1.c_store_id=t11.c_store_id and t1.c_adno =t11.c_adno
left join
(
SELECT tbs_d_adno.c_store_id,tbs_d_adno.c_adno as c_adno,
sum(round(tbs_d_adno.c_at_rec,2)) AS c_at_rec,
sum(round(tbs_d_adno.c_at_ret,2)) AS c_at_ret,
sum(round(tbs_d_adno.c_at_move_in,2)) AS c_at_move_in,
sum(round(tbs_d_adno.c_at_move_out,2)) AS c_at_move_out,
sum(round(tbs_d_adno.c_at_lost,2)) AS c_at_lost,
sum(round(tbs_d_adno.c_at_sale,2)) AS c_at_sale,
sum(round(tbs_d_adno.c_at_use,2)) AS c_at_use,
sum(round(tbs_d_adno.c_sale-tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_sale_tax,
sum(tbs_d_adno.c_sale) as c_sale,
SUM(c_number_lost) as c_number_lost,
sum(round(tbs_d_adno.c_a_lost,2)) AS c_a_lost,
SUM(c_number) as c_number,
sum( round(tbs_d_adno.c_a,2)) as c_a,
sum( round(tbs_d_adno.c_a_cost,2)) as c_a_cost,   
    sum( round(tbs_d_adno.c_at_cost,2)) as c_at_cost,
        sum(round(tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_nt_sale,
sum(round(tbs_d_adno.c_at_price,2)) AS c_at_price            
FROM tbs_d_adno (nolock) 
where ( @机构='' or tbs_d_adno.c_store_id like @机构+'%' ) and ( @部门='' or c_adno like @部门+'%' or charindex(','+c_adno+',',','+@部门+',')>0 )
and len(tbs_d_adno.c_adno) = @部门层次__int
and datediff(day,@结束时间__datetime,c_dt) = 0 

group by tbs_d_adno.c_store_id,tbs_d_adno.c_adno
)t12 on t11.c_store_id=t12.c_store_id and t11.c_adno =t12.c_adno
left join
(
SELECT tbs_d_adno.c_store_id,tbs_d_adno.c_adno as c_adno,
sum(round(tbs_d_adno.c_at_rec,2)) AS c_at_rec,
sum(round(tbs_d_adno.c_at_ret,2)) AS c_at_ret,
sum(round(tbs_d_adno.c_at_move_in,2)) AS c_at_move_in,
sum(round(tbs_d_adno.c_at_move_out,2)) AS c_at_move_out,
sum(round(tbs_d_adno.c_at_lost,2)) AS c_at_lost,
sum(round(tbs_d_adno.c_at_sale,2)) AS c_at_sale,
sum(round(tbs_d_adno.c_at_use,2)) AS c_at_use,
sum(round(tbs_d_adno.c_sale-tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_sale_tax,
sum(tbs_d_adno.c_sale) as c_sale,
SUM(c_number_lost) as c_number_lost,
sum(round(tbs_d_adno.c_a_lost,2)) AS c_a_lost,

        sum(round(tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_nt_sale,
sum(round(tbs_d_adno.c_at_price,2)) AS c_at_price            
FROM tbs_d_adno (nolock) 
where ( @机构='' or tbs_d_adno.c_store_id like @机构+'%' ) and ( @部门='' or c_adno like @部门+'%' or charindex(','+c_adno+',',','+@部门+',')>0 )
and len(tbs_d_adno.c_adno) = @部门层次__int
and datediff(day,@开始时间__datetime,c_dt) >= 0 
and datediff(day,@结束时间__datetime,c_dt) <= 0 
group by tbs_d_adno.c_store_id,tbs_d_adno.c_adno
)
t2 on t2.c_store_id=t1.c_store_id and t2.c_adno =t1.c_adno 
 left join  
(
                 select c_store_id,c_id,sum(c_sale_count) c_sale_count 
                 from tbs_d_supp (nolock)
 WHERE datediff(day,@开始时间__datetime,c_dt)>=0 
AND datediff(day,@结束时间__datetime,c_dt)<=0 
AND len(c_id) = @部门层次__int 
AND c_type='部门'
 group by c_store_id,c_id
) e  on t1.c_store_id = e.c_store_id and t1.c_adno = e.c_id
left join 
(
SELECT tbs_d_adno.c_store_id,tbs_d_adno.c_adno as c_adno,
sum(round(tbs_d_adno.c_at_rec,2)) AS c_at_rec,
sum(round(tbs_d_adno.c_at_ret,2)) AS c_at_ret,
sum(round(tbs_d_adno.c_at_move_in,2)) AS c_at_move_in,
sum(round(tbs_d_adno.c_at_move_out,2)) AS c_at_move_out,
sum(round(tbs_d_adno.c_at_lost,2)) AS c_at_lost,
sum(round(tbs_d_adno.c_at_sale,2)) AS c_at_sale,
sum(round(tbs_d_adno.c_at_use,2)) AS c_at_use,
sum(round(tbs_d_adno.c_sale-tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_sale_tax,
sum(tbs_d_adno.c_sale) as c_sale,

        sum(round(tbs_d_adno.c_sale/(1+c_tax_rate/100),2)) as c_nt_sale    ,
sum(round(tbs_d_adno.c_at_price,2)) AS c_at_price            
FROM tbs_d_adno (nolock) 
where ( @机构='' or tbs_d_adno.c_store_id like @机构+'%' ) and ( @部门='' or c_adno like @部门+'%' or charindex(','+c_adno+',',','+@部门+',')>0 )
and len(tbs_d_adno.c_adno) = @部门层次__int
and datediff(day,dateadd(year,-1,@开始时间__datetime),c_dt) >= 0 
and datediff(day,dateadd(year,-1,@结束时间__datetime),c_dt) <= 0 
group by tbs_d_adno.c_store_id,tbs_d_adno.c_adno
)
t3 on t3.c_store_id=t1.c_store_id and t3.c_adno =t1.c_adno 
left join  
(
                 select c_store_id,c_id,sum(c_sale_count) c_sale_count 
                 from tbs_d_supp (nolock)
 WHERE  datediff(day,dateadd(year,-1,@开始时间__datetime),c_dt) >= 0 
and datediff(day,dateadd(year,-1,@结束时间__datetime),c_dt) <= 0 
AND len(c_id) = @部门层次__int 
AND c_type='部门'
 group by c_store_id,c_id
) e1  on t1.c_store_id = e1.c_store_id and t1.c_adno = e1.c_id
 
inner JOIN tb_depart(nolock)  ON t1.c_adno = tb_depart.c_adno
inner JOIN tb_store(nolock)  ON t1.c_store_id = tb_store.c_id
    left join 
     (select a.c_store_id,substring(a.c_adno,1,@部门层次__int) as c_adno,SUM(a.c_plan_sale) as c_plan_sale,SUM(a.c_plan_profit) as c_plan_profit from tb_plan_day a (nolock)where  datediff(day,@开始时间__datetime,a.c_dt) >= 0 
 and datediff(day,@结束时间__datetime,a.c_dt) <= 0
 and ( @机构='' or a.c_store_id like @机构+'%' )
and ( @部门='' or a.c_adno like @部门+'%' or charindex(','+a.c_adno+',',','+@部门+',')>0 ) group by a.c_store_id,substring(a.c_adno,1,@部门层次__int)
     ) JHD   on t1.c_store_id=JHD.c_store_id and t1.c_adno=JHD.c_adnoorder by t1.c_store_id,t1.c_adno
为什么要新建t1,t11,t12,t2,t3,e,JHD这些表呀?要怎样理解这个程序呀?谢谢各位