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

Underforespørgsel returnerer mere end 1 række

Jeg tror ikke, det er muligt at returnere et array inden for en række, men hvad du kan gøre er at bruge group_concat for at forbinde værdierne til en streng, som du så kan eksplodere senere:

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

Standardseparatoren for group_concat er , hvilket kan være ret farligt, når du bruger explode, så vi bruger SEPARATOR '$^$' at tilføje en masse tilfældige tegn, som sandsynligvis ikke dukker op i stedet for.



  1. Importerer MS ACCESS DB til mySql?

  2. mysqldump med oprette databaselinje

  3. Hvordan kan jeg lave en FULD OUTER JOIN i MySQL?

  4. Sådan kalder du MySQL Stored Procedure i Python