Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwendung von GROUP_CONCAT auf Unterabfrage in MySQL

OP hat es fast richtig gemacht. GROUP_CONCAT sollte die Spalten in der Unterabfrage umschließen und nicht die vollständige Unterabfrage (Ich lasse das Trennzeichen weg, weil das Komma der Standard ist):

SELECT i.*,
(SELECT GROUP_CONCAT(userid) FROM favourites f WHERE f.itemid = i.id) AS idlist
FROM items i
WHERE i.id = $someid

Dies führt zum gewünschten Ergebnis und bedeutet auch, dass die akzeptierte Antwort teilweise falsch ist, da Sie in einer Unterabfrage auf Variablen des äußeren Gültigkeitsbereichs zugreifen können.