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

    solution

    Đề bài: [SQL Server] Điền giá trần theo nhóm sản phẩm

    Bảng sanpham lưu giá từng sản phẩm thuộc một nhom. Cần hiển thị mỗi sản phẩm kèm gia_tran là giá cao nhất trong cùng nhóm (dùng truy vấn con tương quan), và chenh = gia_tran − gia.

    Cột Kiểu Ý nghĩa
    ma nvarchar(20) Mã sản phẩm
    nhom nvarchar(30) Nhóm hàng
    gia int Giá (nghìn đồng)

    Ví dụ nhóm Sua có giá 30, 50 thì gia_tran của cả hai = 50.

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

      SETUP SQL tạo bảng sanpham và chèn giá theo nhóm.

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

      gia ≥ 0. ma là duy nhất. Dùng subquery tương quan theo nhom.

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

      Bốn cột: ma, nhom, gia_tran, chenh. Sắp xếp theo nhom, ma tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE sanpham (ma nvarchar(20), nhom nvarchar(30), gia int);
    INSERT INTO sanpham VALUES
    (N'SP1',N'Sua',30),(N'SP2',N'Sua',50),(N'SP3',N'Banh',20);

    Đầu ra:

    SP3	Banh	20	0
    SP1	Sua	50	20
    SP2	Sua	50	0

    Giải thích:

    Nhóm Sua có giá cao nhất 50 nên gia_tran=50 cho cả SP1, SP2; chenh lần lượt 20 và 0. Nhóm Banh chỉ SP3 nên gia_tran=20, chenh=0.

    Đang tải editor...