Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Subconsulta retornando mais de 1 linha


Eu não acho que seja possível retornar um array dentro de uma linha, mas o que você pode fazer é usar group_concat para juntar os valores em uma string que você pode explodir mais tarde:
SELECT `customers`.`First Name`, `customers`.`Last Name`,
GROUP_CONCAT(`items`.`Product Name` SEPARATOR '$^$') AS `Products` 
FROM customers 
JOIN items 
ON `customers`.`Customer No` = `items`.`Customer No` 
WHERE `customers`.`Customer No` = 6 
GROUP BY `Customer No`

$products=explode("$^$",$result[0]['products']);

O separador padrão para group_concat é , o que pode ser bastante perigoso ao usar explodir, então usamos SEPARATOR '$^$' para adicionar um monte de caracteres aleatórios que provavelmente não aparecerão.