Cấp bậc tác giả:

DATABASE

Làm thế nào để SELECT ra nhiều thuộc tính cách nhau bởi dấu phẩy để phân loại

Được viết bởi QuangIT ngày 13/02/2014 lúc 07:40 AM
Trong CSDL có 1 bảng khách hàng (lưu thông tin khách hàng),1 bảng sở thích(lưu thông tin sở thích) và 1 bảng chi tiết sở thích(lưu sở thích của khách hàng).
  • 0
  • 877

Làm thế nào để SELECT ra nhiều thuộc tính cách nhau bởi dấu phẩy để phân loại


Trong CSDL có 1 bảng khách hàng (lưu thông tin khách hàng),1 bảng sở thích(lưu thông tin sở thích) và 1 bảng chi tiết sở thích(lưu sở thích của khách hàng). Một khách hàng có nhìu sở thích mình sử dụng câu select:
select tenkh,tensothich from khachhang a,sothich b,chitietsothich c where a.makh=c.makh and b.masothich=c.masothich
Khi thực thi thì nó sẽ như trong hình. 

select-phay-table.jpg

Muốn mỗi dòng là một khách hàng và mỗi sở thích cách nhau bởi dấu phẩy thì:

SELECT MAX(z.ten_kh) AS ten_kh, 
STUFF((
SELECT ', ' + B.tensothich 
FROM chitietsothich a 
LEFT JOIN so_thich B 
ON a.masothich = B.masothich 
WHERE a.makh = z.ma_kh 
FOR XML PATH ('')) , 1, 1, '') AS tensothich 
FROM khachhang AS
GROUP BY z.ma_kh

ket-qua.jpg

Nguồn bài viết: DOTNET.VN

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML