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

    solution

    Đề bài: [MySQL] Chi tiết đơn hàng qua bốn bảng

    Sàn TMĐT cần báo cáo chi tiết: tên khách, tên sản phẩm, số lượng, thành tiền của từng dòng đơn. Dữ liệu trải trên bốn bảng.

    Bảng Cột Kiểu Ý nghĩa
    khachhang ma_kh, ho_ten INT, VARCHAR Khách hàng
    donhang ma_don, ma_kh INT, INT Đơn của khách
    chitiet ma_don, ma_sp, so_luong INT,INT,INT Dòng đơn
    sanpham ma_sp, ten_sp, gia INT,VARCHAR,INT Sản phẩm

    Thành tiền = so_luong × gia.

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

      SETUP SQL tạo 4 bảng và chèn dữ liệu.

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

      Nối đủ bốn bảng theo khóa.

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

      Các cột ho_ten, ten_sp, so_luong, thanh_tien; sắp theo ho_ten tăng, ten_sp tăng.

    Ví dụ:

    Đầu vào:

    CREATE TABLE khachhang (ma_kh INT, ho_ten VARCHAR(100));
    CREATE TABLE donhang (ma_don INT, ma_kh INT);
    CREATE TABLE chitiet (ma_don INT, ma_sp INT, so_luong INT);
    CREATE TABLE sanpham (ma_sp INT, ten_sp VARCHAR(100), gia INT);
    INSERT INTO khachhang VALUES (1,'An'),(2,'Bao');
    INSERT INTO donhang VALUES (10,1),(11,2);
    INSERT INTO chitiet VALUES (10,100,2),(11,101,3);
    INSERT INTO sanpham VALUES (100,'Ao',50000),(101,'Quan',80000);

    Đầu ra:

    An	Ao	2	100000
    Bao	Quan	3	240000

    Giải thích:

    An mua 2 Ao = 100000; Bao mua 3 Quan = 240000. Sắp theo họ tên rồi tên sản phẩm.

    Đang tải editor...