我的数据库有三个表A(品种,单价,库存),B(类,品种,用量),C(订单,类,数量)
例如:
A 品种 单价 库存
铅笔 0.2 50000
钢笔 1.2 50000
毛笔 0.5 50000
圆珠笔 0.6 50000
水写笔 2 50000B 类 品种 用量
一年级 铅笔 50
一年级 圆珠笔 30
二年级 钢笔 100
二年级 毛笔 50
二年级 水写笔 100
三年级 毛笔 50
三年级 钢笔 100
三年级 水写笔 50
三年级 铅笔 50
C 订单 类 数量
001 一年级 100
001 二年级 100
002 一年级 200
002 二年级 300
002 三年级 100
现在想做的是从C表中查处001和002订单那些品种库存不足。想法是这样的 想从C表中把类型相同的类数量相加
C 订单 类 数量
001+002 一年级 200
001+002 二年级 400
002 三年级 100
这样就得出总共的数量 然后在用这个相加后的结果在B表中相加
B 类 品种 用量 数量
一年级 铅笔 50 200
一年级 圆珠笔 30 200
二年级 钢笔 100 400
二年级 毛笔 50 400
二年级 水写笔 100 400
三年级 毛笔 50 100
三年级 钢笔 100 100
三年级 水写笔 50 100
三年级 铅笔 50 100
然后把上面的这个B表中相同的项相加并和数量综合
品种 数量
铅笔 15000
圆珠笔 6000
钢笔 50000
毛笔 25000
水写笔 45000
最后把这个表和A表的库存想比较
品种 单价 库存 数量 库存剩余
铅笔 0.2 50000 15000 35000
钢笔 1.2 50000 50000 0
毛笔 0.5 50000 25000 25000
圆珠笔 0.6 50000 6000 44000
水写笔 2 50000 45000 5000
想用SQL查询语句来实现,想了一下午头有都想晕了理不出思路来。希望朋友们帮帮忙
例如:
A 品种 单价 库存
铅笔 0.2 50000
钢笔 1.2 50000
毛笔 0.5 50000
圆珠笔 0.6 50000
水写笔 2 50000B 类 品种 用量
一年级 铅笔 50
一年级 圆珠笔 30
二年级 钢笔 100
二年级 毛笔 50
二年级 水写笔 100
三年级 毛笔 50
三年级 钢笔 100
三年级 水写笔 50
三年级 铅笔 50
C 订单 类 数量
001 一年级 100
001 二年级 100
002 一年级 200
002 二年级 300
002 三年级 100
现在想做的是从C表中查处001和002订单那些品种库存不足。想法是这样的 想从C表中把类型相同的类数量相加
C 订单 类 数量
001+002 一年级 200
001+002 二年级 400
002 三年级 100
这样就得出总共的数量 然后在用这个相加后的结果在B表中相加
B 类 品种 用量 数量
一年级 铅笔 50 200
一年级 圆珠笔 30 200
二年级 钢笔 100 400
二年级 毛笔 50 400
二年级 水写笔 100 400
三年级 毛笔 50 100
三年级 钢笔 100 100
三年级 水写笔 50 100
三年级 铅笔 50 100
然后把上面的这个B表中相同的项相加并和数量综合
品种 数量
铅笔 15000
圆珠笔 6000
钢笔 50000
毛笔 25000
水写笔 45000
最后把这个表和A表的库存想比较
品种 单价 库存 数量 库存剩余
铅笔 0.2 50000 15000 35000
钢笔 1.2 50000 50000 0
毛笔 0.5 50000 25000 25000
圆珠笔 0.6 50000 6000 44000
水写笔 2 50000 45000 5000
想用SQL查询语句来实现,想了一下午头有都想晕了理不出思路来。希望朋友们帮帮忙
解决方案 »
- 高手帮忙解决一下海量数据导入的问题
- 提问一个开发专家的问题!一个扩展IDE的问题!
- 有没有朋友对云、烟尘算法有理解的,一起进来研究研究!(基于GLScene)
- 设计MIS系统时,如何应用面向对象设计方法.请高手指教!
- 有谁做过象PHOTO的About这样不规则透明(含如%30这样的透明度)的程序
- 关于delphiADO连接sqlserver数据库联接服务器问题
- 小数点问题
- 高分相报(100-300分)-如何生成可执行文件以及更改该执行文件的图标?
- 兄弟们帮小弟一把吧,我一直在徘徊!!!!!!分对我不重要
- Incompatible types: 'Word2000.TWordApplication' and 'WordXP.TWordApplication'
- 求解,TServerSocket和TClinetSocket传送数据的问题!
- 谁帮忙把这段VC代码转成DELPHI的啊?
(select 品种,数量 From(
select a.类,a.品种,a.用量,b.数量 From B left join
(select 类,sum(数量)as 数量 From C
Group by 类)b on a.类=b.类)
Group by 品种)b on a.品种=b.品种手写,未经测试
1,C 订单 类 数量
001+002 一年级 200
001+002 二年级 400
002 三年级 100
一年级的200是怎么加出来的200的
C 订单 类 数量
001 一年级 100
001 二年级 100
002 一年级 200
002 二年级 300
002 三年级 100
一年级相加应该是300
2,然后把上面的这个B表中相同的项相加并和数量综合
品种 数量
铅笔 15000
圆珠笔 6000
钢笔 50000
毛笔 25000
水写笔 45000
你说的相同项相加并和数量综合是什么概念?是相乘吗?
是怎么个相同项相加,怎么和数量进行综合的?
先回答这些吧.
(select 品种,数量
From
(select B表.类,B表.品种,B表.用量,bb.数量
From B表 left join
(select 类,sum(数量)as 数量 From C表 Group by 类 )bb on B表.类=bb.类)
Group by 品种
)cc on A表.品种=cc.品种
from A,
(SELECT B.品种,sum(B.用量*C.数量) as 综合
FROM C,B
where B.类=C.类
group by B.品种) D
where A.品种=D.品种