关于SQL数据汇总求助

[复制链接]
查看11 | 回复3 | 2011-6-14 14:15:40 | 显示全部楼层 |阅读模式
原始数据如下:
编码
名称
类型
数量
1
笔记本
入仓
1000
2
手机
入仓
500
2
手机
入仓
300
1
笔记本
出仓
400
2
手机
出仓
100
3
MP3
入仓
300
2
手机
退仓
50
1
笔记本
出仓
100
1
笔记本
退仓
100
我要得到的结果如下:
编码
名称
入仓数量
出仓数量
退仓数量
库存总数
1
笔记本 1000
500
100
600
2
手机
800
100
50
750
3
MP3
300
0
0
300
请问这条SQL语句怎样写啊?

回复

使用道具 举报

千问 | 2011-6-14 14:15:40 | 显示全部楼层
select 编码,名称,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 tablegroup by 编码,名称...
回复

使用道具 举报

千问 | 2011-6-14 14:15:40 | 显示全部楼层
这是一个静态交叉表的实现。一句SQL 是搞不定的。关于交叉表的概念你可以百度看看这里贴一个存储过程,可以方便你的使用CREATE PROCEDURE UP_TEST( @T1 VARCHAR(30),@T2 VARCHAR(30), @T3 VARCHAR(30),@T4 VARCHAR(30)) AS --T1 表名...
回复

使用道具 举报

千问 | 2011-6-14 14:15:40 | 显示全部楼层
select 编码,名称,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 类型...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行