Kho vật tư của xưởng may Thăng Long chốt ngày bằng cách trừ tồn kho theo phiếu xuất. Bảng sanpham:
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| ma | INT | mã vật tư |
| ten | NVARCHAR(100) | tên vật tư |
| tonkho | INT | số lượng tồn |
Bảng xuatkho (các phiếu xuất trong ngày, một vật tư có thể xuất nhiều phiếu):
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| ma | INT | mã phiếu |
| masp | INT | mã vật tư xuất |
| soluong | INT | số lượng xuất |
Hãy trừ tồn kho của mỗi vật tư đi tổng số lượng đã xuất của vật tư đó (một lệnh UPDATE kết hợp JOIN/truy vấn con gộp nhóm; vật tư không có phiếu xuất giữ nguyên). Dữ liệu đảm bảo tồn luôn đủ để trừ. Cuối cùng in toàn bộ tồn kho.
SETUP SQL tạo bảng sanpham, xuatkho và chèn dữ liệu.
Mỗi bảng 1≤ số dòng ≤300; 0≤soluong≤104; tổng xuất của mỗi vật tư không vượt tồn kho ban đầu.
Sau khi UPDATE, in mỗi dòng gồm 3 cột: ma, ten, tonkho — sắp xếp theo ma tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE sanpham (ma INT, ten NVARCHAR(100), tonkho INT);
INSERT INTO sanpham VALUES (1, N'Vai kaki', 100),(2, N'Chi may', 50),(3, N'Khuy ao', 80);
CREATE TABLE xuatkho (ma INT, masp INT, soluong INT);
INSERT INTO xuatkho VALUES (1, 1, 30),(2, 1, 20),(3, 3, 80);
Đầu ra:
1 Vai kaki 50
2 Chi may 50
3 Khuy ao 0
Giải thích:
Đang tải editor...