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

bảng tham gia mysql

Hãy thử truy vấn này nhưng nếu có một số dữ liệu, tôi có thể kiểm tra mặc dù tôi đã kiểm tra bằng dữ liệu giả

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

ĐÃ CHỈNH SỬA
Sau đó, nó sẽ là điều đơn giản nhất để làm

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. Hệ thống gắn thẻ:Câu hỏi giải pháp Toxi

  2. Cách chèn ngày giờ chính xác đến micro giây vào mysql?

  3. Cách nhanh nhất để chèn / cập nhật một triệu hàng trong Laravel 5.7

  4. Các hàng được chọn ngẫu nhiên qua JPA

  5. Có thể tạo cột id tăng tự động trong chế độ xem mysql không?