mysql SQL连接2个表:T1列与WHERE,T2列与SUM

u0sqgete  于 5个月前  发布在  Mysql
关注(0)|答案(1)|浏览(51)

场景:我有3张table

项目:项目ID,名称
库存:item_id、stock_quantity、location_id
标签:item_id,counting_quantity,timestamp
我要一张table:
报告:item_id、名称、库存数量(在location_id =“1”)、计数数量总和
我怎样才能做到这一点呢?非常感谢。

说明:每月我在仓库1(location_id = 1)盘点库存。我得到了前两个表,所以我创建了第三个表,并使用条形码扫描仪插入一行。然后创建第四个表,以观察stock_quantity和盘点数量之间的差异,同时扫描/盘点/插入记录。盘点后,我导出表REPORT并截断表REPORT,以便下个月盘点。

wvyml7n5

wvyml7n51#

我认为你可以用两个JOIN和一个GROUP BY来实现这一点:

SELECT
  `item`.`item_id`,
  `item`.`name`,
  SUM(`stock`.`stock_quantity`) AS 'stock_quantity',
  SUM(`count`.`counting_quantity`) AS 'counting_quantity'
FROM `item`
INNER JOIN `stock` ON `item`.`item_id` = `stock`.`item_id`
LEFT JOIN `count` ON `item`.`item_id` = `count`.`item_id`
WHERE `stock`.`location_id` = 1
GROUP BY `item`.`item_id`, `item`.`name`

字符串

相关问题