找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 5002|回复: 10

[技巧] 现存量查询语句

[复制链接]
发表于 2008-8-18 16:33:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
SELECT dbo.Warehouse.cWhName AS 仓库名称,dbo.CurrentStock.cInvCode AS 存货编码,
      dbo.Inventory.cInvName AS 存货名称, dbo.Inventory.cInvStd AS 规格型号,
      dbo.Inventory.cInvAddCode AS 存货代码, dbo.CurrentStock.cBatch AS 批号,
      dbo.CurrentStock.cFree1 AS 存货备注, SUM(ISNULL(dbo.CurrentStock.iQuantity, 0))
      AS 现存量, SUM(ISNULL(dbo.CurrentStock.fAvaQuantity, 0)) AS 可用数量,
      SUM(ISNULL(dbo.CurrentStock.fOutQuantity, 0)) AS 待发货数量,
      SUM(ISNULL(dbo.CurrentStock.fInQuantity, 0)) AS 待入库数量,
      SUM(ISNULL(dbo.CurrentStock.fTransInQuantity, 0)) AS 调拨在途数量,
      SUM(ISNULL(dbo.CurrentStock.fTransOutQuantity, 0)) AS 调拨待发数量
FROM dbo.CurrentStock INNER JOIN
      dbo.Inventory ON dbo.CurrentStock.cInvCode = dbo.Inventory.cInvCode INNER JOIN
      dbo.Warehouse ON
      dbo.Warehouse.cWhCode = dbo.CurrentStock.cWhCode INNER JOIN
      dbo.ComputationUnit Unit ON
      dbo.Inventory.cComUnitCode = Unit.cComunitCode
GROUP BY dbo.Warehouse.cWhName, dbo.CurrentStock.cInvCode,
      dbo.Inventory.cInvName, dbo.Inventory.cInvStd, dbo.Inventory.cInvAddCode,
      dbo.CurrentStock.cBatch, dbo.CurrentStock.cFree1
having  CurrentStock.cInvCode = '012965074400'

其中最后一句中的012965074400是存货编码。

评分

参与人数 1金币 +30 收起 理由
yifeng651 + 30 未经测试, 鼓励一下.

查看全部评分

发表于 2008-8-18 16:47:36 | 显示全部楼层
怎么这么复杂啊???????
发表于 2008-8-19 16:48:33 | 显示全部楼层
很好!!非常有帮助的!!可以偷懒了!!
 楼主| 发表于 2008-8-20 08:31:42 | 显示全部楼层
这个语句中的“可用数量”取出来的全是0,因为物理表中的也全是0。请各位使用时留意。目前我正在找取出正确的“可用数量”的办法。
发表于 2008-8-20 08:37:12 | 显示全部楼层

回复 4# lg0219 的帖子

我觉得“可用量”是不会写入表中的,而应该是在查询的时候通过另外的几个量加减再得到的。
LZ可以试看看。
 楼主| 发表于 2008-8-20 08:49:14 | 显示全部楼层
谢谢楼上的,终于有人正面回复了。
如果是计算得出那还有点复杂了,呵呵,我去试试看。
发表于 2008-9-27 21:18:38 | 显示全部楼层
现存量的确是依靠加减得出的,在软件里面很明显,现存量等于甚么加上甚么,查询的时候应该也是经过一个存储过程和触发得到的一个结果!
发表于 2008-9-27 21:20:32 | 显示全部楼层
SUM(ISNULL(dbo.CurrentStock.fOutQuantity, 0)) AS 待发货数量,
      SUM(ISNULL(dbo.CurrentStock.fInQuantity, 0)) AS 待入库数量,
      SUM(ISNULL(dbo.CurrentStock.fTransInQuantity, 0)) AS 调拨在途数量,
      SUM(ISNULL(dbo.CurrentStock.fTransOutQuantity, 0)) AS 调拨待发数量
FROM dbo.CurrentStock INNER JOIN

SUN函数是加法。得到的结果返回!
发表于 2008-11-1 13:59:22 | 显示全部楼层
经典啊,呵呵,我可以不通过用友界面啦!
发表于 2008-11-3 15:05:16 | 显示全部楼层
经典啊,收藏了,谢谢楼主。
好好学习一下。
发表于 2008-11-4 00:22:39 | 显示全部楼层
晕,找一下应该有存储过程的,何必这么辛苦
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-22 23:22 , Processed in 0.058527 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表