Verwendung:
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
Sie möchten die MySQL-Funktion GROUP_CONCAT ( Dokumentation ), um eine durch Kommas getrennte Liste des Werts PROPERTIES.property zurückzugeben.
Ich habe einen LEFT JOIN anstelle eines JOIN verwendet, um PEOPLE-Datensätze einzuschließen, die keinen Wert in der PROPERTIES-Tabelle haben. Wenn Sie nur eine Liste von Personen mit Werten in der PROPERTIES-Tabelle haben möchten, verwenden Sie:
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
Mir ist klar, dass dies ein Beispiel ist, aber die Verwendung eines Namens ist eine schlechte Wahl für die Referenzintegrität, wenn man bedenkt, wie viele "John Smith"s es gibt. Die Zuweisung einer user_id, die ein eindeutiger Wert pro Benutzer ist, wäre eine bessere Wahl.