Sử dụng:
SELECT x.name,
GROUP_CONCAT(y.property SEPARATOR ', ')
FROM PEOPLE x
LEFT JOIN PROPERTIES y ON y.name = x.name
WHERE x.age > 26
GROUP BY x.name
Bạn muốn hàm MySQL GROUP_CONCAT ( tài liệu ) để trả về danh sách được phân tách bằng dấu phẩy của giá trị PROPERTIES.property.
Tôi đã sử dụng THAM GIA TRÁI thay vì THAM GIA để bao gồm các bản ghi NGƯỜI KHÔNG có giá trị trong bảng THUỘC TÍNH - nếu bạn chỉ muốn danh sách những người có giá trị trong bảng THUỘC TÍNH, hãy sử dụng:
SELECT x.name,
GROUP_CONCAT(y.property SEPARATOR ', ')
FROM PEOPLE x
JOIN PROPERTIES y ON y.name = x.name
WHERE x.age > 26
GROUP BY x.name
Tôi nhận thấy đây là một ví dụ, nhưng sử dụng tên là một lựa chọn kém cho tính toàn vẹn tham chiếu khi bạn xem xét có bao nhiêu "John Smith". Chỉ định user_id, là một giá trị duy nhất cho mỗi người dùng, sẽ là lựa chọn tốt hơn.