Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi
    solution
    Đăng nhập
    Đăng nhập

    Đề bài: [SQL 4.1] Tách họ và ghép nhãn tên khách hàng

    📖Cần ôn lý thuyết? Đọc bài giảng Buổi 4: Kiểu dữ liệu và hàm xử lý dữ liệu — khóa SQL

    Trong hệ thống, full_name của khách hàng cá nhân có dạng Họ Tên đệm Tên (không dấu, ví dụ Nguyen Van An). Để in nhãn thư từ, cần tách họ (từ đầu tiên) khỏi phần còn lại rồi ghép lại theo mẫu HỌ, phần còn lại.

    Với các khách hàng có customer_type = 'INDIVIDUAL', hãy xuất:

    • ho — từ đầu tiên của tên, viết hoa;
    • phan_con_lai — phần tên còn lại giữ nguyên chữ hoa/thường (chuỗi rỗng nếu tên chỉ có một từ);
    • nhan — CONCAT(ho, ', ', phan_con_lai); nếu phan_con_lai rỗng thì nhan chỉ là ho.

    Tên có thể còn khoảng trắng thừa ở đầu/cuối — phải cắt bỏ trước khi xử lý (TRIM). Sắp xếp theo customer_id tăng dần.

    Gợi ý: dùng CHARINDEX(' ', s) (SQL Server) hoặc INSTR(s, ' ') (MySQL) để tìm vị trí khoảng trắng đầu tiên; kết quả 0 nghĩa là không có khoảng trắng.

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

      Bảng Customers(customer_id, full_name, customer_type).

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

      customer_id, ho, phan_con_lai, nhan (TAB); sắp xếp theo customer_id.

    Ví dụ:

    Đầu vào:

    Đầu ra:

    1	NGUYEN	Van An	NGUYEN, Van An
    2	TRAN	Thi Binh	TRAN, Thi Binh
    3	LE	Van Cuong	LE, Van Cuong
    4	PHAM	Thi Dung	PHAM, Thi Dung
    5	HOANG	Van Em	HOANG, Van Em
    6	VU	Thi Hoa	VU, Thi Hoa
    7	DANG	Van Khoa	DANG, Van Khoa
    8	BUI	Thi Lan	BUI, Thi Lan
    9	DO	Van Minh	DO, Van Minh
    10	NGO	Thi Nga	NGO, Thi Nga
    11	DUONG	Van Phong	DUONG, Van Phong
    12	LY	Thi Quynh	LY, Thi Quynh
    13	TRINH	Van Son	TRINH, Van Son
    14	PHAN	Thi Thao	PHAN, Thi Thao
    15	VO	Van Tuan	VO, Van Tuan
    16	DINH	Thi Uyen	DINH, Thi Uyen
    17	MAI	Van Vinh	MAI, Van Vinh
    18	HA	Thi Xuan	HA, Thi Xuan
    19	CAO	Van Yen	CAO, Van Yen
    20	LAM	Thi Anh	LAM, Thi Anh
    21	TRUONG	Van Bao	TRUONG, Van Bao
    22	NGUYEN	Thi Chi	NGUYEN, Thi Chi
    23	TRAN	Van Dat	TRAN, Van Dat
    24	LE	Thi Giang	LE, Thi Giang
    25	PHAM	Van Hai	PHAM, Van Hai
    26	HOANG	Thi Huong	HOANG, Thi Huong
    27	VU	Van Kien	VU, Van Kien
    28	DANG	Thi Linh	DANG, Thi Linh
    29	BUI	Van Manh	BUI, Van Manh
    30	DO	Thi Nhung	DO, Thi Nhung

    Giải thích:

    30 khách hàng cá nhân, ví dụ 'Nguyen Van An' -> NGUYEN, Van An.

    Chủ đề

    📊 SQLSQLSQL: Buổi 4 – Kiểu dữ liệu & hàm xử lýTất cả môn học

    Đang tải editor...