关于SQL语言的问题。(50分)

  • 主题发起人 主题发起人 T李寻欢
  • 开始时间 开始时间
T

T李寻欢

Unregistered / Unconfirmed
GUEST, unregistred user!
有三张表。
一:库存表
二:公司到供应商订货表
三:客户的订单
我想查某一时间段的所有商品库存情况,比如10天后的库存。
请问SQL语句该如何写。
 
有三张表。
表A:库存表(商品名、实际库存、...)
表B:公司到供应商订货表(商品名、数量、到货时间、...)
表C:客户的订单(商品名、数量、取货时间、...)
 
没有给出具体表结构,就这么写吧。

Select 库存表.库存+公司到供应商订货表.订货量-客户的订单.订货量
from 库存表,公司到供应商订货表,客户的订单
where
库存表.商品名称=公司到供应商订货表.商品名称
and 库存表.商品名称=客户的订单.商品名称
and 公司到供应商订货表.订货日期<当前日期+10
and 客户的订单.日期<当前日期+10
 
[?]说明具体点
 
yzhshi这样只能统计出商品。
只是(公司到供应商订货表中有的和客户的订单表中有的)
如果只公司订货或只有客户订货就不能统计出来。

 


复杂的例子。
用库存表中的所有商品循环所有的公司订货表和客户订货表(在某个
时间段),把公司订货表中和客户订货表有的商品和库存表中的商品
加减,得过某个时间段的库存。(比如20天后的)
 
Who can help me????
 
如果是Oracle,则使用外联接就可以了。SQL Server里面可以使用Left Inner Join或者*来完成
Select 库存表.库存+公司到供应商订货表.订货量-客户的订单.订货量
from 库存表,公司到供应商订货表,客户的订单
where
库存表.商品名称=公司到供应商订货表.商品名称(+)
and 库存表.商品名称=客户的订单.商品名称(+)
and 公司到供应商订货表.订货日期<当前日期+10
and 客户的订单.日期<当前日期+10
 
1.能不能详细说明一下(SQL Server里面可以使用Left Inner Join或者*)
2.Select 库存表.库存+公司到供应商订货表.订货量-客户的订单.订货量
from 库存表,公司到供应商订货表,客户的订单
where
库存表.商品名称=公司到供应商订货表.商品名称(+) <-----这个(+)是什么意思
and 库存表.商品名称=客户的订单.商品名称(+)
and 公司到供应商订货表.订货日期<当前日期+10
and 客户的订单.日期<当前日期+10
 
试试下面的:
Select 商品名,Sum(数量) from
(Select 商品名 as 商品名,实际库存 as 数量 from 库存表 union
Select 商品名 as 商品名,数量 as 数量 from 公司到供应商订货表 Where 到货时间<(GetDate() + 10)
and 未到货标志=1 union
Select 商品名 as 商品名,0-数量 as 数量 from 客户的订单 Where 取货时间<(GetDate()+10)
and 未取货标志=1) as BB
Group by 商品名
 
试试下面的:
Select 商品名,Sum(数量) from
(Select 商品名 as 商品名,实际库存 as 数量 from 库存表 union
Select 商品名 as 商品名,数量 as 数量 from 公司到供应商订货表 Where 到货时间<(GetDate() + 10)
and 未到货标志=1 union <-----------这起什么作用
Select 商品名 as 商品名,0-数量 as 数量 from 客户的订单 Where 取货时间<(GetDate()+10)
and 未取货标志=1) as BB
Group by 商品名

能不能详细说明一下这句话的意思,我看的不是很明白。
 
未到货标志=1这个条件是我自己加的,因为一般来说订单交货后会更新库存表,加这个
条件是防止重复计算。
union是关键字,它是把两个结构相同的RecordSet做合并
具体的用法可以参考帮助文件,
 
寫具體一些,寫這種sql語句我比較行的:)
 
有三张表。
表A:库存表(商品名、实际库存、...)
表B:公司到供应商订货表(商品名、数量、到货时间、...)
表C:客户的订单(商品名、数量、取货时间、...)

复杂的例子。
用库存表中的所有商品循环所有的公司订货表和客户订货表(在某个
时间段),把公司订货表中和客户订货表有的商品和库存表中的商品
加减,得过某个时间段的库存。(比如20天后的)
只是动态估算出未来的库存。来计划订货量。
 
有三张表。
表A:库存表(商品名、实际库存、...)
表B:公司到供应商订货表(商品名、数量、到货时间、...)
表C:客户的订单(商品名、数量、取货时间、...)

复杂的例子。
用库存表中的所有商品循环所有的公司订货表和客户订货表(在某个
时间段),把公司订货表中和客户订货表有的商品和库存表中的商品
加减,得过某个时间段的库存。(比如20天后的)
只是动态估算出未来的库存。来计划订货量。

 
后退
顶部