Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да изберете колоните за таблица INNER JOIN в зависимост от стойностите на присъединените масиви

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. C# -- Извличане на данни от MySQL и подреждането им в страници без DataGridView

  2. Ефективен начин за симулиране на пълно външно присъединяване в MySQL?

  3. SQL:Как да поддържам ред на редовете с DISTINCT?

  4. Неуспешна заявка за актуализиране с грешка:1175

  5. Как да четете конфигурационен параметър на базата данни, като използвате файла със свойства в хибернация