33 lines
976 B
MySQL
33 lines
976 B
MySQL
|
|
-- 此SQL用于查询商品库存与格口库存不一致的数据
|
||
|
|
-- 筛选条件:商品库存 < 格口库存(说明格口库存超出商品库存,需要重新计算)
|
||
|
|
-- 主要用途:发现库存异常数据,定位需要重新计算格口数据的商品
|
||
|
|
SELECT
|
||
|
|
sg.goods_id,
|
||
|
|
sg.goods_name,
|
||
|
|
sg.stock AS '商品库存',
|
||
|
|
COALESCE(SUM(cc.stock), 0) AS '格口库存',
|
||
|
|
sc.cabinet_name,
|
||
|
|
GROUP_CONCAT(DISTINCT cc.cell_no ORDER BY cc.cell_no ASC) AS '格口号'
|
||
|
|
FROM
|
||
|
|
shop_goods sg
|
||
|
|
LEFT JOIN
|
||
|
|
cabinet_cell cc ON sg.goods_id = cc.goods_id
|
||
|
|
AND cc.deleted = 0
|
||
|
|
AND cc.goods_id IS NOT NULL
|
||
|
|
LEFT JOIN
|
||
|
|
smart_cabinet sc ON cc.cabinet_id = sc.cabinet_id
|
||
|
|
AND sc.deleted = 0
|
||
|
|
WHERE
|
||
|
|
sg.deleted = 0
|
||
|
|
GROUP BY
|
||
|
|
sg.goods_id,
|
||
|
|
sg.goods_name,
|
||
|
|
sg.stock,
|
||
|
|
sc.cabinet_id,
|
||
|
|
sc.cabinet_name
|
||
|
|
HAVING
|
||
|
|
sg.stock < COALESCE(SUM(cc.stock), 0)
|
||
|
|
AND sc.cabinet_name IS NOT NULL
|
||
|
|
ORDER BY
|
||
|
|
sg.goods_id,
|
||
|
|
sc.cabinet_name;
|