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 số liệu kho và sổ sách

    Cần đối soát số lượng tồn giữa kiểm kê thực tế (thucte) và sổ sách (sosach). Một mã hàng có thể chỉ tồn ở một bên. Dùng FULL OUTER JOIN.

    Bảng Cột Ý nghĩa
    thucte mahang, sl_thucte Số lượng kiểm kê
    sosach mahang, sl_sosach Số lượng sổ sách

    Liệt kê mọi mahang ở cả hai bảng. Thiếu bên nào điền 0. Cột chenh = sl_thucte − sl_sosach.

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

      SETUP SQL tạo bảng thucte, sosach và chèn số lượng.

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

      Mã hàng có thể chỉ xuất hiện một bên. Dùng ISNULL/COALESCE điền 0.

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

      Bốn cột: mahang, sl_thucte, sl_sosach, chenh. Sắp xếp theo mahang tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE thucte (mahang nvarchar(20), sl_thucte int);
    CREATE TABLE sosach (mahang nvarchar(20), sl_sosach int);
    INSERT INTO thucte VALUES (N'H1',10),(N'H2',5);
    INSERT INTO sosach VALUES (N'H1',8),(N'H3',20);

    Đầu ra:

    H1	10	8	2
    H2	5	0	5
    H3	0	20	-20

    Giải thích:

    H1 ở cả hai (10 vs 8, chenh=2). H2 chỉ thực tế (5 vs 0, chenh=5). H3 chỉ sổ sách (0 vs 20, chenh=-20).

    Đang tải editor...