我有3个表,adjustinline,items和itemmovement我要找的是,我需要从表中选择:adjustinline中的所有行与item表中的描述,以及itemmovement表sum(qty)-sum(qtyut)group by itemid和warehouseid中的现有数量。
调整内联线
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
如果itemmovation表中不存在itemid,则不会显示该行,因为代码正在使用内部联接。
2条答案
按热度按时间tjrkku2a1#
自从你
GROUP BY
中的列itemv
表,如果该表中没有条目,则不存在组。ao218c7q2#
终于解决了,代码如下:
谢谢大家