有个表A,里面有 id,mc(名称),dj(单价),sl(数量),lb(类别)以及其他一些这里不需要的字段名
其中ID有好多个MC,MC对应收费价格和次数,LB有2和3两种,我要统计ID和对应他们收了多少钱,我要统计2或者3的话,这个很好统计
select id,sum(dj*sl) from A表 where lb=2(或者3) group by id
但是现在要我统计的是最后结果中LB为2的dj*sl一个字段,LB为3的dj*sl一个字段 就是结果是这样的
ID SUM(SL*DJ)LB=2 SuM(SL*DJ)LB=3我试着写了好几次语句组后结果都不对,数字都非常大,因为有些ID2和3不一定都有,有些ID2和3都有,统计出两次语句最后用EXEL表格编辑也很麻烦,有人能告诉我如何这样一次性的写出来吗,数据正确的语句吗,谢谢了
其中ID有好多个MC,MC对应收费价格和次数,LB有2和3两种,我要统计ID和对应他们收了多少钱,我要统计2或者3的话,这个很好统计
select id,sum(dj*sl) from A表 where lb=2(或者3) group by id
但是现在要我统计的是最后结果中LB为2的dj*sl一个字段,LB为3的dj*sl一个字段 就是结果是这样的
ID SUM(SL*DJ)LB=2 SuM(SL*DJ)LB=3我试着写了好几次语句组后结果都不对,数字都非常大,因为有些ID2和3不一定都有,有些ID2和3都有,统计出两次语句最后用EXEL表格编辑也很麻烦,有人能告诉我如何这样一次性的写出来吗,数据正确的语句吗,谢谢了
select t1.id,t1.lb_2,t2.lb_3 from
(select id,sum(dj*sl) as lb_2 from A表 where lb=3 group by id) t1
natural join
(select id,sum(dj*sl) as lb_3 from A表 where lb=2 group by id) t2
where t1.id = t2.id
decode(lb,3,SUM(SL*DJ),0) l_3where lb=2 or lb=3