Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Subquery mengembalikan lebih dari 1 baris

Saya tidak berpikir itu mungkin untuk mengembalikan array dalam satu baris, tetapi yang dapat Anda lakukan adalah menggunakan group_concat untuk menggabungkan nilai-nilai ke dalam string yang kemudian dapat Anda ledakkan nanti:

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

Pemisah default untuk group_concat adalah , yang bisa sangat berbahaya saat menggunakan meledak jadi kami menggunakan SEPARATOR '$^$' untuk menambahkan sekelompok karakter acak yang kemungkinan tidak akan muncul sebagai gantinya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sisipan karakter khusus PHP / Mysql terpotong

  2. Mengonversi Kumpulan Hasil MySQL dari Baris ke Kolom

  3. Bagaimana cara menghubungkan beberapa database, server di mysql dan kueri dari kedua tabel satu sama lain?

  4. Kesalahan SQL:1064, SQLState:42000 saat membuat entitas baru

  5. sudo yum install php55w-mysqlnd konflik