select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称, (select sum(总金额) from 出库表 where datediff(month, 出库时间, getdate()) > 0) as 本月止累计, (select sum(总金额) from 出库表 where datediff(month, 出库时间, getdate()) = 0) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表
Where Datediff(month, 出库时间, getdate()) = 0
Group By 部门名称
select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0 and 部门名称=a.部门名称) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表 a
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0 and 部门名称=a.部门名称) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表 a
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0 and 部门名称=a.部门名称) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表 a
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0 and 部门名称=a.部门名称) as 本月累计,
sum(总金额) as 当月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表 a
Where 出库时间 between @d1 and @d2
Group By 部门名称
select 部门名称,
sum(总金额) as 本月止累计,
(select sum(总金额) from 出库表 where datediff(month,出库时间,@d2)>=0 and 部门名称 = a.部门名称) as 本月消耗,
sum(case when 产品大类 = '设备备件' then 总金额 else 0 end) as 设备备件,
sum(case when 产品大类 = '生产备件' then 总金额 else 0 end) as 生产备件,
sum(case when 产品小类 = '轧辊' then 总金额 else 0 end) as 轧辊,
sum(case when 产品小类 = '钢材' then 总金额 else 0 end) as 钢材,
sum(case when 产品小类 = '润滑油' then 总金额 else 0 end) as 润滑油,
sum(case when 产品小类 = '轴承' then 总金额 else 0 end) as 轴承,
sum(case when 产品小类 = '化工' then 总金额 else 0 end) as 化工,
sum(case when 产品小类 = '劳保' then 总金额 else 0 end) as 劳保,
sum(case when 产品小类 = '五金工具' then 总金额 else 0 end) as 五金工具,
sum(case when 产品小类 = '汽油柴油' then 总金额 else 0 end) as 汽油柴油,
sum(case when 产品小类 = '其他' then 总金额 else 0 end) as 其他
From 出库表 a
Where 出库时间 between @d1 and @d2
Group By 部门名称