Table 01
ItemID | ItemName | Quantity |
---|---|---|
1 | Computer | 50 |
2 | TV | 10 |
3 | Camera | 35 |
4 | Phone | 40 |
Table 02
ItemID | ItemName | Status | ItemsMoved |
---|---|---|---|
1 | Computer | S | 2 |
2 | TV | S | 5 |
3 | Camera | S | 15 |
4 | Phone | S | 7 |
1 | Computer | P | 10 |
2 | TV | R | 2 |
3 | Camera | P | 20 |
4 | Phone | R | 3 |
Challenge
Cập nhật số lượng sản phẩm tồn kho dựa trên các giao dịch bán (S), mua (P) và hoàn trả (R).
Kết Quả
ItemID | ItemName | OrgInv | UpdateInv |
---|---|---|---|
1 | Computer | 50 | 58 |
2 | TV | 10 | 7 |
3 | Camera | 35 | 40 |
4 | Phone | 40 | 36 |
SQL
SELECT
i.ItemID,
i.ItemName,
i.Quantity AS OrgInv,
i.Quantity + COALESCE(SUM(CASE WHEN t.Code = 'S' THEN -t.ItemsMoved
WHEN t.Code IN ('P', 'R') THEN t.ItemsMoved
ELSE 0 END), 0) AS UpdateInv
FROM
table01 i
LEFT JOIN
table02 t ON i.ItemID = t.ItemID
GROUP BY
i.ItemID, i.ItemName, i.Quantity;
Bạn nào muốn học phân tích data theo style thực chiến qua tasks, challenges, case studies … thì đăng ký các khóa học về Insight, SQL, PBI, Python … Mình khai giảng các khóa học mới thường xuyên.
Đăng ký Bootcamp 1 lần, bạn sẽ được học tất cả các khóa học hiện tại và mới sau này mà không cần phải đóng thêm phí.
Leave a Comment