我有3个表格,adjustinlines,项目和项移动 我正在寻找的是我需要从表中选择: Adjustinline中带有描述的所有行,以及来自项目移动表sum(qty)-sum(qtyout)的现有数量的项目表中的描述,按物料编号和仓库编号分组。
调整行
itemid warehouseid adjustbyquantity
1 2 5
1 1 3
2 2 4
3 1 5
项目
Id description
1 Item 1
2 Item 2
3 Item 3
项目移动
itemid warehouseid qtyin qtyout
1 1 3
1 1 2
1 2 3
1 2 1
2 2 1
请求查看
Description warehouseid Onhandqty Adjustbyqty
Item 1 2 2 5
Item 1 1 1 3
Item 2 2 1 4
Item 3 1 0 5
我正在尝试使用这两种方式,但是它们都没有给我正确的结果
SELECT sum(itemv.qtyin) sum(itemv.qtyout),adjo.warehouseid,adjo.itemid,
adjo.adjustbyquantity,itm.description
FROM adjustoutcopy adjo
LEFT JOIN itemmovement AS itemv
ON adjo.itemid=itemv.itemid AND
adjo.warehouseid=itemv.warehouseid
LEFT JOIN items AS itm
ON adjo.itemid=itm.Id
group by itemv.itemid,itemv.warehouseid
ORDER BY adjo.Id DESC
如果itemmovement表中不存在itemid,则该行不会出现,因为代码使用的是Join Inner。
答案 0 :(得分:1)
最后,它已经解决了,下面是代码:
SELECT itm.description,adjst.warehouseid,sumofqty,adjst.quantity
FROM adjustoutcopy adjst
LEFT JOIN (
SELECT itemid,warehouseid,sum(qtyin)-sum(qtyout) AS sumofqty
FROM itemmovement
GROUP BY itemid,warehouseid
) s ON (adjst.codeid = s.itemid) AND
(adjst.warehouseid = s.warehouseid)
LEFT JOIN items AS itm
ON adjst.codeid=itm.Id
感谢所有人
答案 1 :(得分:0)
由于您在GROUP BY
表中的itemv
列中,如果该表中没有条目,则不存在任何组。