你可以用
GROUP_CONCAT
SUBSTRING_INDEX
功能。这三个主题可以出现在一列中:
SELECT
users.id,
users.name,
SUBSTRING_INDEX(GROUP_CONCAT(qualifications.subject SEPARATOR ','), ',', 3) AS subjects
FROM users
LEFT JOIN qualifications ON users.id = qualifications.user_id
GROUP BY users.id, users.name
或者你可以把它们分开:
SELECT
id,
name,
subjects,
SUBSTRING_INDEX(subjects, ',', 1) AS subject1,
SUBSTRING_INDEX(SUBSTRING_INDEX(subjects, ',', 2), ',', -1) AS subject2,
SUBSTRING_INDEX(SUBSTRING_INDEX(subjects, ',', 3), ',', -1) AS subject3
FROM (
SELECT
users.id,
users.name,
CONCAT(GROUP_CONCAT(qualifications.subject SEPARATOR ','), ',,') AS subjects
FROM users
LEFT JOIN qualifications ON users.id = qualifications.user_id
GROUP BY users.id, users.name
) AS x