回 帖 发 新 帖 刷新版面

主题:[讨论]SQL语句。路过的达人。请进来帮忙。

两个表存酒、取酒
存酒表如下:
品名       数量     存酒时间
芝华士    5         2008-3-2
芝华士    6         2008-3-1
芝华士    0.5       2008-3-2
芝华士    0.8       2008-3-2
劲爽       3        2008-3-1
劲爽       5        2008-3-2
劲爽       0.6      2008-3-1

取酒表如下:
品名       数量
芝华士    1         2008-3-1
芝华士    4         2008-3-2
芝华士    0.5       2008-3-2
劲爽       1        2008-3-2
劲爽       0.6      2008-3-2

结果表:
           -------------今日存区酒日报表---------2008-3-2
品名       存酒整支   存酒散支   取酒整支  取酒散支
芝华士        5            2             4            1
劲爽          5            1             1            1

想实现这样的效果。有高人能指点下吗?谢谢了?在线等。

回复列表 (共1个回复)

沙发

select * from
(
select a.品名
      ,sum(case when round(a.数量,0,1)=a.数量 then a.数量 else 0 end) as 存酒整支
      ,sum(case when round(a.数量,0,1)<>a.数量 then round(a.数量,0,1)+1 else 0 end) as 存酒散支 
from 存酒表 a 
where a.存酒日期='2008-3-2'
group by a.品名
) as aa
,(
select b.品名 
      ,sum(case when round(b.数量,0,1)=b.数量 then b.数量 else 0 end) as 取酒整支
      ,sum(case when round(b.数量,0,1)<>b.数量 then round(b.数量,0,1)+1 else 0 end) as 取酒散支 
from 取酒表 b 
where b.取酒日期='2008-3-2' 
group by b.品名) as bb
where aa.品名=bb.品名

我来回复

您尚未登录,请登录后再回复。点此登录或注册