Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Podzapytanie zwracające więcej niż 1 wiersz

Nie sądzę, aby można było zwrócić tablicę w jednym wierszu, ale możesz użyć group_concat aby połączyć wartości w łańcuch, który można później rozbić:

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

Domyślny separator dla group_concat to , co może być dość niebezpieczne podczas używania wybuchu, dlatego używamy SEPARATOR '$^$' aby dodać kilka losowych postaci, które raczej się nie pojawią.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. python - _mysql Nie można otworzyć pliku dołączanego:'config-win.h':Brak takiego pliku lub katalogu podczas instalacji mysql-python

  2. Wyświetl dane MYSQL z menu

  3. Czy można uruchomić regułę asocjacji apriori w instrukcji mysql?

  4. Wydajność VARCHAR vs TEXT, gdy dane mieszczą się w wierszu

  5. Pobierz tylko nazwy kolumn jak w tablicy mysql