Bảng baiviet lưu các thẻ của bài viết dưới dạng chuỗi nối bằng dấu phẩy (có thể có khoảng trắng thừa). Cần tách, bỏ trùng, sắp xếp rồi nối lại thành chuỗi chuẩn.
| Cột | Kiểu | Ý nghĩa |
|---|---|---|
| mabai | int | Mã bài viết |
| tags | nvarchar(200) | Các thẻ nối bằng ',' |
Dùng STRING_SPLIT để tách, TRIM để bỏ khoảng trắng, loại thẻ rỗng, lấy DISTINCT, rồi STRING_AGG nối bằng , theo thứ tự tăng dần.
Ví dụ 'sql, db ,sql' → db, sql.
SETUP SQL tạo bảng baiviet và chèn chuỗi thẻ.
Thẻ có thể trùng/có khoảng trắng. Bỏ thẻ rỗng. STRING_AGG có WITHIN GROUP (ORDER BY).
Hai cột: mabai, tags_chuan. Sắp xếp theo mabai tăng dần.
Ví dụ:
Đầu vào:
CREATE TABLE baiviet (mabai int, tags nvarchar(200));
INSERT INTO baiviet VALUES (1,N'sql, db ,sql'),(2,N'web');
Đầu ra:
1 db, sql
2 web
Giải thích:
Đang tải editor...