sql >> Base de Datos >  >> RDS >> Mysql

Subconsulta que devuelve más de 1 fila

No creo que sea posible devolver una matriz dentro de una fila, pero lo que puede hacer es usar group_concat para unir los valores en una cadena que luego puede explotar más adelante:

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']);

El separador predeterminado para group_concat es , lo cual puede ser bastante peligroso cuando se usa explotar, por lo que usamos SEPARATOR '$^$' para agregar un montón de caracteres aleatorios que probablemente no aparecerán en su lugar.