Gebruik:
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
U wilt de MySQL-functie GROUP_CONCAT ( documentatie ) om een door komma's gescheiden lijst van de PROPERTIES.property-waarde te retourneren.
Ik heb een LEFT JOIN gebruikt in plaats van een JOIN om PEOPLE-records op te nemen die geen waarde hebben in de PROPERTIES-tabel - als u alleen een lijst wilt met mensen met waarden in de PROPERTIES-tabel, gebruik dan:
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
Ik realiseer me dat dit een voorbeeld is, maar het gebruik van een naam is een slechte keuze voor referenciale integriteit als je bedenkt hoeveel 'John Smith's er zijn. Het toewijzen van een user_id, een unieke waarde per gebruiker, zou een betere keuze zijn.