Použijte:
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
Chcete funkci MySQL GROUP_CONCAT ( dokumentaci ), aby se vrátil seznam hodnot PROPERTIES.property oddělený čárkami.
Použil jsem LEFT JOIN spíše než JOIN, abych zahrnul záznamy PEOPLE, které nemají hodnotu v tabulce PROPERTIES - pokud chcete pouze seznam lidí s hodnotami v tabulce PROPERTIES, použijte:
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
Uvědomuji si, že toto je příklad, ale použití jména je špatnou volbou pro referenční integritu, když uvážíte, kolik existuje „John Smith“. Lepší volbou by bylo přiřazení user_id jako jedinečné hodnoty na uživatele.