Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Truy vấn con trả về nhiều hơn 1 hàng

Tôi không nghĩ rằng có thể trả về một mảng trong một hàng, nhưng những gì bạn có thể làm là sử dụng group_concat để nối các giá trị vào một chuỗi mà bạn có thể phát nổ sau này:

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

Dấu phân tách mặc định cho group_concat, có thể khá nguy hiểm khi sử dụng nổ, vì vậy chúng tôi sử dụng SEPARATOR '$^$' để thêm một loạt các ký tự ngẫu nhiên không có khả năng xuất hiện.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để thiết kế Bảng MySql cho Đám mây thẻ?

  2. PHP / MySQL Xóa hình ảnh khỏi cơ sở dữ liệu

  3. Lưu trữ một mảng có độ dài không xác định

  4. PHP SQL Injection Ngăn chặn với các hoạt động chuỗi

  5. NHÓM THEO và ĐẶT HÀNG THEO