informix 分组统计 left join

jjcl521 2009-11-03 12:03:03


ID 数量 类别
one 3 1
one 6 2
one 8 1
two 2 1
two 5 1

--有table数据如此,
--转化为下面这样格式的数据sql语句怎么写呢?




ID 总和 类别为1总和 类别为2的总和
one 17 11 6
two 7 7 0


--求总和
select ID,count(数量) as 总和 from table

group by ID

--求类别为1的和
select ID,count(数量) as 类别为1的和 from table

where 类别=1

group by ID

--求类别为2的和
select ID,count(数量) as 类别为2的和 from table

where 类别=1

group by ID

上面三个sql语句怎么连到一块呢,或创建个视图?informix7.03版本


...全文
273 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjcl521 2009-12-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwwwb 的回复:]
因为Informix  7.03  不支持case,case  是从7.3开始新增的特性
select A.ID,count(A.数量) as 总和,
(SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=1),
SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=2)
from tT A GROUP BY A.ID
[/Quote]
谢谢 这个问题我已经解决了 好久没关注了也该结贴了
wwwwb 2009-11-03
  • 打赏
  • 举报
回复
因为Informix 7.03 不支持case,case 是从7.3开始新增的特性
select A.ID,count(A.数量) as 总和,
(SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=1),
SELECT count(数量) FROM TT WHERE ID=A.ID AND 类别=2)
from tT A GROUP BY A.ID

1,195

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 Informix
社区管理员
  • Informix社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧