Mysql
 sql >> Database >  >> RDS >> Mysql

Utilizzo di GROUP_CONCAT su sottoquery in MySQL

OP ha quasi capito bene. GROUP_CONCAT dovrebbe eseguire il wrapping delle colonne nella sottoquery e non nella sottoquery completa (Sto ignorando il separatore perché la virgola è l'impostazione predefinita):

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

Ciò produrrà il risultato desiderato e significa anche che la risposta accettata è parzialmente errata, perché puoi accedere a variabili di ambito esterne in una sottoquery.