交叉查询行变列的巨难问题。

liao71 2009-03-26 10:49:17
配件表:TFB_Info 字段 id,InQty,OutQty,StockQty
配件进出表:TFB_InOut 字段 ItemNo,id,InOutDate,Qty,
产品表:TFB_Product 字段:prid,pm1,pm2,pm3,pm4,pm5,pm6,pm7,pm8,pm9,注明:pm1,pm2,pm3里的表调用的是TFB_Info的id,产品从一到九,最多有九个,
要求:进出库存表如下:
======================================================================================
上月库存 本月入库 本月出库 本月结存
prid 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9
XC009 5 0 0 0 0 0 0 0 0 3 8 0 0 0 0 0 0 0 4 2 0 0 0 0 0 0 0 4 6 0 0 0 0 0 0 0
XC002 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0
======================================================================================
如果是单单查询TFB_Info的进出没有问题,关健是在TFB_Product 这个表与TFB_Info的关联下查询进出情况就不太明白,如何处理,请高手们指点。小弟在些谢过。
...全文
101 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao71 2009-03-26
  • 打赏
  • 举报
回复
显示的是对齐的。提交后就变的不对齐了。所以看起来有点乱。不好意思,各位大哥。
liao71 2009-03-26
  • 打赏
  • 举报
回复
======================================================================================
上月库存 本月入库 本月出库 本月结存
prid | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9
XC009 | 5 0 0 0 0 0 0 0 0 | 3 8 0 0 0 0 0 0 0 | 4 2 0 0 0 0 0 0 0 | 4 6 0 0 0 0 0 0 0
XC002 | 2 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 2 0 0 0 0 0 0 0 0
======================================================================================
其中的0表示的是没有发生进的,我只是显示出来比如xc009上月库存是5,本月入库是3,本月出库是4,哪结存就是上月库存+本月入库-本月出库的。
ai_li7758521 2009-03-26
  • 打赏
  • 举报
回复
把表结构和测试数据给出,这么太抽象了
liao71 2009-03-26
  • 打赏
  • 举报
回复
通过InQty-OutQty得来,设计有问题,请楼上的指点,看看有什么好的方法,谢谢。
liao71 2009-03-26
  • 打赏
  • 举报
回复
TFB_Info 即是配件表,就相当于组装一部电脑的CPU配件,TFB_Product即一台手提电脑,由多少个TFB_Info的配件组成,TFB_Product与TFB_Info是一对多的关系。TFB_InOut记录的时配件的进出情况。
sdhdy 2009-03-26
  • 打赏
  • 举报
回复
表设计的有问题,先不说别的,上月库存如何取得?
肥龙上天 2009-03-26
  • 打赏
  • 举报
回复
字太多了,看的眼花
请给出表结果,测试数据,
你想要的结果,
3Q
主要是测试数据!
子陌红尘 2009-03-26
  • 打赏
  • 举报
回复
楼主没有描述清楚 TFB_Info 表的用途,每个配件只有一条记录?记录当前结存?
liao71 2009-03-26
  • 打赏
  • 举报
回复
现在的问题是如何让配件表:TFB_Info表的内容,根据产品表:TFB_Product 组合的情况,分别显示进出表出来。
======================================================================================
上月库存 本月入库 本月出库 本月结存
prid | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9 | 1,2,3,4,5,6,7,8,9
XC009 |5 0 0 0 0 0 0 0 0 | 3 8 0 0 0 0 0 0 0 | 4 2 0 0 0 0 0 0 0 | 4 6 0 0 0 0 0 0 0
XC002 |2 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 | 2 0 0 0 0 0 0 0 0
======================================================================================
liao71 2009-03-26
  • 打赏
  • 举报
回复
配件表:TFB_Info 字段 id (nvarchar) ,InQty(int) ,OutQty(int),StockQty(Int ,注stockQty=InQty-OutQty)
配件进出表:TFB_InOut 字段 ItemNo (nvarchar,注:进出单号) ,ItemType (varchar 进出类型分为"IN","OUT')
id(varchar),InOutDate(dateTime),Qty (int)说明:TFB_InOut表记录的是TFB_Info的进出情况,关联字段是 id.
产品表:TFB_Product 字段:prid,pm1,pm2,pm3,pm4,pm5,pm6,pm7,pm8,pm9,都是(varchar)类型,注明:pm1,pm2,pm3里的表调用的是TFB_Info的id,九个, 关联字也是id.要求的结果就是刚才列来的表内容。在此先谢楼上的二位兄弟.
子陌红尘 2009-03-26
  • 打赏
  • 举报
回复
楼主需要说明配件表和配件进出表之间的关联关系,以及两个表存储数据的逻辑。
子陌红尘 2009-03-26
  • 打赏
  • 举报
回复
TFB_InOut怎么区分入库还是出库?
dawugui 2009-03-26
  • 打赏
  • 举报
回复
请给出表结构,测试数据,具体算法和结果,谢谢。
追梦人1120 2009-03-26
  • 打赏
  • 举报
回复
没看懂啊!
liao71 2009-03-26
  • 打赏
  • 举报
回复
哪个库存可以不用先理。我只要想知道,如何增加一个存储过程显示TFB_Product 表里的比如电脑:xc-009里共有三个配件,每个配件的进出情况,就相当于行变列成一行这样显示的。谢谢
zzxap 2009-03-26
  • 打赏
  • 举报
回复
表设计有问题

22,181

社区成员

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

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