请大家解决一个疑难问题?

fuanwei 2008-03-04 09:16:17
入库表
产品 名称 入库时间 入库数

出库表
产品 名称 出库时间 出库数 订单号

开票表
发票号 客户 开票时间 开票金额

回笼表
发票号 客户 回笼时间 回笼金额

订单表
订单号 客户 订单数量 单价

如何计算出<已入库未出库数据><已出库未开票数据><已开票未回笼数据>
<已入库出库开票回笼数据>

其中<已入库出库开票回笼数据>格式
产品 名称 订单号 客户 入库时间 入库数量 出库时间 出库数量 开票时间 开票金额 回笼时间 回笼金额
...全文
75 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjb0601 2008-03-05
  • 打赏
  • 举报
回复
SQL Server是什么版本?
如果是2005的话,以出入库的数据为例子:
已入库未出库:
SELECT 名称 FROM 入库表
EXCEPT
SELECT 名称 FROM 出库表

已入库且出库:
SELECT 名称 FROM 入库表
INTERSECT
SELECT 名称 FROM 出库表

如果是2000的话,同样以入库的数据为例子:
已入库未出库:
SELECT 名称 FROM 入库表 a
WHERE NOT EXISTS (
SELECT * FROM 出库表 b
WHERE b.名称 = a.名称
)

已入库且出库:
SELECT 名称 FROM 入库表 a
WHERE EXISTS (
SELECT * FROM 出库表 b
WHERE b.名称 = a.名称
)
tcxx2008 2008-03-05
  • 打赏
  • 举报
回复
我头又大了
dawugui 2008-03-05
  • 打赏
  • 举报
回复
各表关系都没有,全凭猜测,难.
pt1314917 2008-03-05
  • 打赏
  • 举报
回复

--已入库未出库数据:到底是要得到已入库,但未出过库的商品名称呢?还是要得到商品现有库存?
--1、已入库,但未出过库的商品名称
select * from 入库数 a where not exists(select 1 from 出库表 b where a.产品=b.产品,a.名称=b.名称)
--2、得到各商品库存:
select a.产品,a.名称,库存=入库数-isnull(出库数,0) from
(select 产品,名称,入库数=sum(入库数) from 入库表 group by 产品,名称)a
left join
(select 产品,名称,出库数=sum(出库数) from 出库表 group by 产品,名称)b
on a.产品=b.产品,a.名称=b.名称

--已出库未开票数据:
--这样?
select * from 出库表 where not exists
(select 1 from 订单表 b,开票表 c where 订单号=a.订单号 and b.客户=c.客户)

--已开票未回笼数据:
select * from 开票表 a where not exists(select 1 from 回笼表 where 发票号=a.发票号)

--已入库出库开票回笼数据:入库出库 和 开票回笼这两两之间又通过什么字段关联?
fuanwei 2008-03-05
  • 打赏
  • 举报
回复
fuanwei 2008-03-04
  • 打赏
  • 举报
回复
主要解决这个问题,多次用到先进先出
fuanwei 2008-03-04
  • 打赏
  • 举报
回复
发票和订单关联 订单与出库关联 这样关系接有了
playwarcraft 2008-03-04
  • 打赏
  • 举报
回复
幫頂,
發票和產品沒有mapping
dawugui 2008-03-04
  • 打赏
  • 举报
回复
就这些内容?

太抽象了吧.

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧