我有三个表,inventory_location、item、item_stock
库存位置:
inv_loc_id (PK)
inv_loc_desc
项目:
item_id (PK)
code_no
item_desc
inv_cat_id
物品库存:
item_stock_id (PK)
item_id
inv_loc_id
quantity
我想显示这样的报告:
代码 说明 Loc1 Loc2 总计
1 描述 1 5 3 8
inventory_location 有数据:(Loc1,Loc2,Loc3,Loc4,Loc5)
& 可以与另一条记录一起添加。
我的问题是,如果一个位置还没有item_stock
- 意味着它还没有存储项目,它将显示如下:
代码 说明 Loc1 Loc2 null null 总计
1 描述1 5 3 0 0 8
我需要的是,显示所有位置,即使它们尚未在item_stock
.
这是我的疑问,希望你能纠正我。
SELECT
il.`inv_loc_id` AS inv_loc_id,
il.`inv_loc_desc` AS inv_loc_desc,
i.`item_id` AS item_id,
i.`nrc_no` AS nrc_no,
i.`code_no` AS code_no,
i.`item_desc` AS item_desc,
i.`unit_id` AS unit_id,
iss.`item_stock_id` AS item_stock_id,
iss.`inv_loc_id` AS inv_loc_id,
iss.`quantity` AS quantity,
i.`inv_cat_id` AS inv_cat_id
FROM `item` i
LEFT JOIN `item_stock` iss
ON iss.`item_id` = i.`item_id`
LEFT JOIN `inventory_location` AS il
ON il.`inv_loc_id` = iss.`inv_loc_id`
WHERE i.inv_cat_id = 1
GROUP BY iss.inv_loc_id,
i.item_id
ORDER BY iss.item_stock_id DESC