用sql语句做报表,怎么算折扣和工资

默认分类 未结 1 1359
0***之子0
0***之子0 2023-03-19 09:06
相关标签:
1条回答
  • 2023-03-19 09:51

    --mssqlserver:selecta.日期,a.物料,a.工序,a.设备,a.班组,a.操作工,a.数量,a.单价,(casewhenb.物料种类数>1orb.物料种类数=1andc.设备种类数>1andd.工序种类数=1then0.8else1end)as折扣,a.数量*a.单价*(casewhenb.物料种类数>1orb.物料种类数=1andd.工序种类数=1andc.设备种类数>1then0.8else1end)as工资from表名aleftjoin(select日期,count(物料)as物料种类数,操作工from表名groupby日期,操作工)bona.日期=b.日期anda.操作工=b.操作工leftjoin(select日期,count(设备)as设备种类数,操作工from表名groupby日期,操作工)cona.日期=c.日期anda.操作工=c.操作工leftjoin(select日期,count(工序)as工序种类数,操作工from表名groupby日期,操作工)dona.日期=d.日期anda.操作工=d.操作工

    追问你好,如果我需要*条件呢,比如说我想加 where 日期=‘2017-01-01’我需要加在哪里呢?是在from 表名 a 跟left join 之间么,还是加在最后

    追答......wherea.日期='2017-01-01'--加在最后

    select 数量,单价,折扣,数量*单价*折扣 as '工资' from table

    能看懂么

    其他的东西,你没有表结构,没有人能帮你写出来

    追问主要问题不是工作,而是折扣。

    折扣是要判断出来到底是1还是0.8,也就是要不要打折,能看懂么

    0 讨论(0)
提交回复