Y
ysai
Unregistered / Unconfirmed
GUEST, unregistred user!
下面是一个与本主题无关的问题,分在另一个贴子里,不回答这个问题也给分
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1301405
如果你回答这个问题正确,请到那拿分(50分),如果连那个问题一并解决了,
我就再开一个贴发分!这样你就有三个得分机会了。
问题:简化SQL语句
我要算出这次采购的材料,不包含已在采购(入库未提交)的材料,
用下面的SQL,如果入库明细中没有的材料不会出来:
SELECT 材料,需求数量+预警数量-库存数量-采购数量 AS 数量
FROM 材料,
(
SELECT 材料 AS 采购材料,数量 AS 采购数量
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
)
WHERE 需求数量+预警数量-库存数量-采购数量>0 AND 材料=采购材料;
我就改成了这样:
SELECT 材料,需求数量+预警数量-库存数量-采购数量 AS 数量
FROM 材料,
(
SELECT 材料 AS 采购材料,数量 AS 采购数量
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
UNION
SELECT 材料 AS 采购材料,0 AS 采购数量
FROM 材料
WHERE 材料 NOT IN
(
SELECT 材料
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
)
)
WHERE 需求数量+预警数量-库存数量-采购数量>0 AND 材料=采购材料;
结果出来了,但是不是很麻烦?能不能简化一点?
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1301405
如果你回答这个问题正确,请到那拿分(50分),如果连那个问题一并解决了,
我就再开一个贴发分!这样你就有三个得分机会了。
问题:简化SQL语句
我要算出这次采购的材料,不包含已在采购(入库未提交)的材料,
用下面的SQL,如果入库明细中没有的材料不会出来:
SELECT 材料,需求数量+预警数量-库存数量-采购数量 AS 数量
FROM 材料,
(
SELECT 材料 AS 采购材料,数量 AS 采购数量
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
)
WHERE 需求数量+预警数量-库存数量-采购数量>0 AND 材料=采购材料;
我就改成了这样:
SELECT 材料,需求数量+预警数量-库存数量-采购数量 AS 数量
FROM 材料,
(
SELECT 材料 AS 采购材料,数量 AS 采购数量
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
UNION
SELECT 材料 AS 采购材料,0 AS 采购数量
FROM 材料
WHERE 材料 NOT IN
(
SELECT 材料
FROM 入库,入库明细
WHERE 入库.入库单ID=入库明细.入库单ID AND NOT 提交
)
)
WHERE 需求数量+预警数量-库存数量-采购数量>0 AND 材料=采购材料;
结果出来了,但是不是很麻烦?能不能简化一点?