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

    solution

    Đề bài: [MySQL] Đơn hàng kèm tên khách

    Báo cáo bán hàng cần hiển thị mỗi đơn hàng kèm tên khách hàng đặt đơn đó. Đơn không xác định được khách (mã khách NULL hoặc không tồn tại trong bảng khách) thì bỏ qua.

    Hãy dùng INNER JOIN.

    Lược đồ bảng khachhang:

    Cột Kiểu Ý nghĩa
    id INT Khóa chính
    ten VARCHAR(50) Tên khách hàng

    Lược đồ bảng donhang:

    Cột Kiểu Ý nghĩa
    id INT Khóa chính
    khachhang_id INT Mã khách (có thể NULL)
    tongtien INT Tổng tiền (nghìn đồng)

    Ví dụ: đơn 10 của khách id 1 tên Hùng thì in 10, Hùng, ....

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

      SETUP SQL tạo bảng khachhang(id INT, ten VARCHAR(50)), donhang(id INT, khachhang_id INT, tongtien INT) và chèn dữ liệu.

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

      Mỗi bảng có số dòng ≤30\le 30≤30.

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

      Mỗi dòng: id của đơn, ten khách, tongtien. Sắp xếp theo id của đơn tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE khachhang (id INT PRIMARY KEY, ten VARCHAR(50));
    CREATE TABLE donhang (id INT PRIMARY KEY, khachhang_id INT, tongtien INT);
    INSERT INTO khachhang VALUES (1,'Hùng'),(2,'Lan');
    INSERT INTO donhang VALUES (10,1,500),(11,2,300),(12,NULL,100);

    Đầu ra:

    10	Hùng	500
    11	Lan	300

    Giải thích:

    Đơn 10 và 11 khớp khách Hùng, Lan; đơn 12 có khachhang_id NULL nên INNER JOIN loại bỏ.

    Đang tải editor...