应用题求解

[复制链接]
查看11 | 回复9 | 2007-7-4 17:27:50 | 显示全部楼层 |阅读模式
mingchengguige
danwei xishu yongliang

500ML 瓶
1 240

500ML*12 箱
12 30
请问怎样写语句得出以大包装计算的总用量(240/12+30=50)?即:

500ML*12

12
50
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
数据有没有可能是如下的情况?
mingchengguige
danwei xishu yongliang
酒 500ML 瓶 1 240
酒 500ML 瓶 1 200
酒 500ML*12 箱 12 30
酒 500ML 瓶 1 150
酒 500ML*12 箱 11 60
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
对!就是您说的这种情况,要求得出按“箱”计算的总用量,出小数点没关系,先谢了!
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
如何确认那些mingcheng是同一组的? 是不是mingcheng相同就是同一组?
[ 本帖最后由 bell6248 于 2009-5-18 15:08 编辑 ]
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
是,酒是唯一名称,只有一种,其余的都是烟,酒的区别是规格,500ML的是按瓶卖,*12的是按箱卖,最后算算共卖了多少箱
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层

Try!
selectmingcheng,
max(decode(danwei, '箱', guige, null))guige,
max(decode(danwei, '箱', danwei, null)) danwei,
sum(decode(danwei, '箱', xishu, 0))xishu,
(sum(decode(danwei, '瓶', yongliang, 0)) / sum(decode(danwei, '箱', xishu, 0))) + sum(decode(danwei, '箱', yongliang, 0)) yongliang
from t
group by mingcheng;

回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
原帖由 我着急啊 于 2009-5-18 15:12 发表
是,酒是唯一名称,只有一种,其余的都是烟,酒的区别是规格,500ML的是按瓶卖,*12的是按箱卖,最后算算共卖了多少箱

如果规格分多层呢


比如烟, 包 -> 条 -> 箱


回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
谢谢!我是这么做的,您帮我看一下:
select mingcheng,sum(yongliang*xishu)/max(xishu) from t group by mingcheng;
可是结果中不带单位,也就是我想要的那个最大包装单位,
再一个如jackywood所说的,要是有多级包装,包、条、箱之类的写在语句里就不好了吧?
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
我的语句和你的语句不一样, 你的标确实存在多级包装单位的话, 那你就举个完整的例子, 和你要的结果!
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
对不起,可能是我表达的不清楚:)
mingchengguige
danwei xishu yongliang
酒(茅台小王子) 500ML 瓶 1 240
酒(茅台小王子) 500ML*12 箱 12 30
烟(极品黄山)
20支 包 1 360
烟(极品黄山)
20支*10 盒 10 40

想得出如下结果:

酒(茅台小王子) 500ML*12 箱 12 50
烟(极品黄山)
20支*10 盒 10 76
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行