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

Cách chọn các cột cho bảng INNER JOIN tùy thuộc vào giá trị của các mảng đã kết hợp

SELECT 
   CONCAT( 
    "{"
   ,     '"id"' , ":" , '"' , friends.id , '"' , ","
   ,     '"name"' , ":" , '"' , friends.name , '"' , ","
    , 
   CASE 
   WHEN relations.status = 'Current' 
     THEN CONCAT('"CurrentTeam":["',    teams.name ,'"]')
   ELSE CONCAT('"pastTeam": '   ,   '[' ,   GROUP_CONCAT( '"',teams.name, '"'),']'  )
     END   
   , "}"
   )
  AS json
FROM 
 friends 
INNER JOIN 
 relations 
ON 
 friends.id = relations.friends_id
INNER JOIN
 teams 
ON
relations.teams_id = teams.id
 group by friends.id,relations.status

http://sqlfiddle.com/#!9/694bc69/23



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kết nối cơ sở dữ liệu với MySQL hết thời gian ngay cả sau khi thiết lập c3p0.testConnectionOnCheckout =true

  2. Giá trị lớn nhất từ ​​hai trường trở lên

  3. Tải lên tệp CSV để xử lý cập nhật trạng thái và chèn bản ghi mới

  4. MySQL Fire Trigger cho cả Chèn và Cập nhật

  5. mysql kiểm tra xem các số có trong danh sách được phân tách bằng dấu phẩy không