首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

[]求教一个查询sql

2013-04-12 
[求助]求教一个查询sql求教一个装盒子的问题(商品装进小盒子,小盒子装进大箱子),只有商品对应小盒子,商品

[求助]求教一个查询sql
求教一个装盒子的问题(商品装进小盒子,小盒子装进大箱子),只有商品对应小盒子,商品对应大箱子的信息,需要得出对应的小盒子与大箱子的对应关系,默认按ID顺序装进大箱子
表SMALL_BOX小盒子
商品ID   小盒子ID   数量  
A        S1         10
A        S2         10
A        S3         7
B        S4         20
C        S5         30
C        S6         7         

表BIG_BOX大箱子
商品ID   大箱子ID   数量  
A        B1         20
A        B2         7
B        B3         20
C        B4         37

表SMALL_BIG_RATE产品小盒子和大箱子的比例
商品ID   大箱子能装商品和小盒子能装的比例
A        2
B        3
C        3

需要的查询sql结果为
商品ID 小盒子ID   大箱子ID
A        S1         B1
A        S2         B1
A        S3         B2
B        S4         B3
C        S5         B4
C        S6         B4           

没有环境,不能给你完美答案。
但是给你个思路,你看看行不行

先根据SMALL_BIG_RATE表的【 大箱子能装商品和小盒子能装的比例】对每个商品的大箱子进行笛卡尔积
然后小箱子表LEFT JOIN 乘积后的大箱子表。再用<>NULL来过滤

热点排行