Brug:
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
Du vil have MySQL-funktionen GROUP_CONCAT ( dokumentation ) for at returnere en kommasepareret liste over PROPERTIES.property-værdien.
Jeg brugte en LEFT JOIN i stedet for en JOIN for at inkludere PEOPLE-poster, der ikke har en værdi i tabellen EGENSKABER - hvis du kun vil have en liste over personer med værdier i tabellen EGENSKABER, skal du bruge:
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
Jeg er klar over, at dette er et eksempel, men at bruge et navn er et dårligt valg for referencemæssig integritet, når man tænker på, hvor mange "John Smith" der er. At tildele et user_id, som er en unik værdi pr. bruger, ville være et bedre valg.