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

    solution

    Đề bài: [SQL Server] Danh sách môn học mỗi sinh viên

    Trường ĐH Kinh tế Quốc dân muốn in mỗi sinh viên kèm danh sách môn đã đăng ký trên một dòng, ngăn bởi dấu phẩy.

    Bảng dangky:

    Cột Kiểu Ý nghĩa
    masv INT Mã sinh viên
    tensv NVARCHAR(50) Tên sinh viên
    mon NVARCHAR(40) Tên môn đăng ký

    Dùng STRING_AGG(...) WITHIN GROUP (ORDER BY mon) gom các môn của mỗi sinh viên thành chuỗi danhsachmon ngăn bởi , . In masv, tensv, danhsachmon.

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

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

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

      Mỗi sinh viên đăng ký ≥ 1 môn. 1 ≤ số dòng ≤ 1000.

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

      Mỗi dòng: masv, tensv, danhsachmon (các môn ngăn bởi ', ' theo thứ tự tên môn tăng dần). Sắp xếp theo masv tăng dần.

    Ví dụ:

    Đầu vào:

    CREATE TABLE dangky (masv INT, tensv NVARCHAR(50), mon NVARCHAR(40));
    INSERT INTO dangky VALUES
    (1, N'An', N'Toan cao cap'),
    (1, N'An', N'Kinh te vi mo'),
    (2, N'Binh', N'Marketing');

    Đầu ra:

    1	An	Kinh te vi mo, Toan cao cap
    2	Binh	Marketing

    Giải thích:

    Sinh viên An có 2 môn, gom thành 'Kinh te vi mo, Toan cao cap' (sắp theo tên môn). Sinh viên Binh chỉ một môn.

    Đang tải editor...