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

Jak wybrać kolumny dla tabeli INNER JOIN w zależności od wartości połączonych tablic?

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. Przewijalny/aktualizowany zestaw wyników MySQL nie działa zgodnie z oczekiwaniami

  2. określenie najczęściej używanego zestawu słów php mysql

  3. Jak używać instrukcji CASE w MySQL

  4. Jak naprawić bazę danych MySQL w cPanel?

  5. Co to jest transaction.commit() w Hibernate?