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

Sottoquery che restituisce più di 1 riga

Non credo sia possibile restituire un array all'interno di una riga, ma quello che puoi fare è usare group_concat per unire i valori in una stringa che puoi esplodere in seguito:

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

Il separatore predefinito per group_concat è , il che può essere abbastanza pericoloso quando si usa esplodi, quindi usiamo SEPARATOR '$^$' per aggiungere un gruppo di personaggi casuali che è probabile che non si presentino invece.