Użyj:
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
Potrzebujesz funkcji MySQL GROUP_CONCAT ( dokumentacja ), aby zwrócić oddzieloną przecinkami listę wartości PROPERTIES.property.
Użyłem LEFT JOIN zamiast JOIN, aby uwzględnić rekordy PEOPLE, które nie mają wartości w tabeli PROPERTIES - jeśli chcesz tylko listę osób z wartościami w tabeli PROPERTIES, użyj:
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
Zdaję sobie sprawę, że jest to przykład, ale używanie nazwy to kiepski wybór dla integralności referencyjnej, jeśli weźmie się pod uwagę, ile jest „John Smith”. Lepszym wyborem byłoby przypisanie identyfikatora użytkownika, będącego unikalną wartością dla każdego użytkownika.