+ -
当前位置:首页 → 问答吧 → 请教SQL

请教SQL

时间:2011-10-29

来源:互联网

Tabel_A结构如下:

GOODS_CD TRANS_TYPE FROM TO QTY
  GA 01 A 100
  GA 02 B 600
  GA 03 C D 350
  GA 02 C 400


Table_B结构如下:
GOODS Location INV_QTY
  GA A 1100  
  GA B 0
  GA C 150  
  GA D 500

Table_A是物品转移数量,Table_B是物品在各个地方的库存初期数量,我想得到的是物品在经过转移后在各个地方的库存数量。
GOODS Location Inv_Qty
 GA A 1000 (1100 - 100 )
 GA B 600 (0 + 600)
 GA C 200 (150 + 400 - 350 )
 GA D 850 (500 + 350 )  

SQL怎样写?

作者: netusealways   发布时间: 2011-10-29

表设计不规范,建议建个临时表将GA 03 C D 350这中记录拆分成两条记录,这样再用inner join就可以了

作者: likgui   发布时间: 2011-10-29

还有一种结果如下,SQL又应该如何写?
GOODS_CD TRANS_TYPE FROM TO QTY INV
  GA 01 A 100 1000 (1100 -100)
  GA 02 B 600 600 (0 + 600 )
  GA 03-1 C 350 -200 (150 - 350 )  
  GA 03-2 D 350 850 (500 + 350 )
  GA 02 C 400 200 (400 - 200 )

作者: netusealways   发布时间: 2011-10-29

trans_type 是02的,只有to列有值。
trans_type 是01的,只有from列有值。
trans_type 是03的,from列和to列都有值。

作者: netusealways   发布时间: 2011-10-29

trans_type是03的行,我希望分拆成两行,并且两行的trans_type分别改变为03-1和03-2

作者: netusealways   发布时间: 2011-10-29