Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [SQL Server] Đối soát tồn kho giữa hai hệ thống

    Doanh nghiệp bán lẻ cần đối soát số lượng tồn giữa hệ thống POS và hệ thống WMS. Cần liệt kê mọi mã hàng xuất hiện ở ÍT NHẤT một hệ thống, kèm số lượng hai bên (thiếu thì in -1).

    Dùng FULL OUTER JOIN để đối soát hai nguồn.

    Cột Kiểu Ý nghĩa
    mahang nvarchar Mã hàng
    sl_pos int Số lượng POS
    Cột Kiểu Ý nghĩa
    mahang nvarchar Mã hàng
    sl_wms int Số lượng WMS

    Ví dụ: mã chỉ có ở POS thì sl_wms hiển thị -1.

    • Định dạng đầu vào:

      Bảng ton_pos và ton_wms.

    • Ràng buộc đầu vào:

      Dùng COALESCE cho mahang và số lượng. Sắp xếp theo mahang.

    • Định dạng đầu ra:

      Các cột mahang, sl_pos, sl_wms (thiếu = -1).

    Ví dụ:

    Đầu vào:

    CREATE TABLE ton_pos (mahang nvarchar(10), sl_pos int);
    CREATE TABLE ton_wms (mahang nvarchar(10), sl_wms int);
    INSERT INTO ton_pos VALUES (N'H1',10),(N'H2',20),(N'H3',30);
    INSERT INTO ton_wms VALUES (N'H2',20),(N'H3',25),(N'H4',5);

    Đầu ra:

    H1	10	-1
    H2	20	20
    H3	30	25
    H4	-1	5

    Giải thích:

    H1 chi co o POS -> sl_wms=-1. H2 co ca hai (10/20 va 20). H3 co ca hai (30 va 25, lech). H4 chi co o WMS -> sl_pos=-1. Sap theo mahang: H1, H2, H3, H4.

    Đang tải editor...