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

mysql dołącz do tabeli

Wypróbuj to zapytanie, ale gdyby były jakieś dane, byłbym w stanie sprawdzić, chociaż sprawdziłem z fikcyjnymi danymi

select
  t.token_id,
  IFNULL(g.game,'') as Game,
  IFNULL(p.name,'') as Prize,
  case when g.game != '' then 'Assigned' when p.name != '' then 'Assigned' else 'Not assigned yet' end as `Status`
from token as t
  left join (select *
         from games
         where token_id not in(select
                     token_id
                   from prize)) as g
    on g.token_id = t.token_id
  left join (select *
         from prize
         where token_id not in(select
                     token_id
                   from games)) as p
    on p.token_id = t.token_id

EDYTOWANO
W takim razie powinna to być najprostsza rzecz do zrobienia

select *
from `user`
  left join token
    on user.user_id = token.user_id
  left join games
    on games.token_id = token.token_id
  left join prize
    on prize.token_id = token.token_id
where user.user_id = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MyBatis, jak uzyskać automatycznie wygenerowany klucz wkładki? [Mój SQL]

  2. Jak usunąć zduplikowane rekordy w bazie mysql?

  3. Jak uzyskać identyfikator wiersza, który właśnie wstawiłem php/mysql

  4. Alternatywa dla ORDER BY RAND() na połączonych stołach?

  5. Pojawia się język arabski w php/mysql ???? znaki zapytania w html