Câu hỏi phỏng vấn MySQL
Câu hỏi

Viết một truy vấn để nối và hiển thị t...

Câu trả lời

Để nối và hiển thị tất cả các tên khác nhau trong một hàng, bạn có thể sử dụng hàm STRING_AGG trong SQL Server (phiên bản 2017 trở lên) hoặc sử dụng cấu trúc XML trong các phiên bản cũ hơn. Dưới đây là cách viết truy vấn cho cả hai trường hợp:

Nếu bạn đang sử dụng SQL Server phiên bản 2017 trở lên:

SELECT STRING_AGG(Name, ', ') AS Names
FROM (SELECT DISTINCT Name FROM Person) AS DistinctNames;

Nếu bạn đang sử dụng phiên bản SQL Server cũ hơn:

SELECT DISTINCT Name + ', ' AS 'data()'
FROM Person
FOR XML PATH('');

Trong cả hai truy vấn trên, Person là tên bảng và Name là tên cột chứa các tên cần được nối lại. Truy vấn đầu tiên sử dụng hàm STRING_AGG để nối các tên với nhau, còn truy vấn thứ hai sử dụng cấu trúc XML để đạt được kết quả tương tự[1].

Citations:
[1] https://sentry.io/answers/how-to-concatenate-text-from-multiple-rows-into-a-single-text-string-in-sql-server/
[2] https://...

senior

senior

Gợi ý câu hỏi phỏng vấn

middle

Làm thế nào để bạn có thể thêm một hoặc nhiều cột sau một cột nhất định trong một bảng MySQL hiện có?

middle

Cách sử dụng IN và BETWEEN trong các truy vấn MySQL là gì?

middle

Index trong MySQL là gì? Lợi ích của index là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào