首页 > 解决方案 > 可以通过一个查询完成吗?MySQL只有一张表

问题描述

我无法应付编写正确的查询(mysql)。我想用查询而不是过程来做到这一点。除非做不到。

输入是:pozycja_id=315 在此处输入图像描述

现在我必须总结所有的值并进行修正 在此处输入图像描述

请给我一些关于如何去做的提示。谢谢你们

标签: mysql

解决方案


谢谢@Shadow,这是我在 2 查询中的解决方案( mysql < 8 )

 SELECT GROUP_CONCAT(DISTINCT magazyn_id SEPARATOR ',') 
 FROM (SELECT * FROM rs_magazyn ORDER BY korekta_pozycji_id  DESC,pozycja_id DESC) products_sorted, 
 (select @pv := '305') initialisation 
 WHERE find_in_set(pozycja_id, @pv) and length(@pv := concat(@pv, ',', korekta_pozycji_id))`

 SELECT SUM(T2.qty_out+IFNULL((SELECT SUM(qty_out) suma FROM rs_magazyn 
 WHERE korekta_pozycji_id=T2.pozycja_id),0)) suma 
 FROM rs_magazyn AS T1 LEFT JOIN rs_magazyn AS T2 ON T1.magazyn_id=T2.do_magazyn_id
 WHERE T1.magazyn_id IN (5,16 {GROUP_CONCAT FROM FIRST QUERY})`

推荐阅读