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

THAM GIA và GROUP_CONCAT với ba bảng

Nó không đặc biệt khó.

  1. Nối ba bảng bằng mệnh đề JOIN.
  2. Sử dụng Group_concat trên các trường bạn quan tâm.
  3. Đừng quên mệnh đề GROUP BY trên các trường bạn không nối hoặc lạ mọi thứ sẽ xảy ra


SELECT u.id, 
       u.Name, 
       Group_concat(us.id_sport order by pref) sport_ids, 
       Group_concat(s.name order by pref)      sport_names 
FROM   users u 
       LEFT JOIN User_Sports us 
               ON u.id = us.id_user 
       LEFT  JOIN sports s 
               ON US.id_sport = s.id 
GROUP  BY u.id, 
          u.Name 

DEMO

Cập nhật THAM GIA TRÁI khi người dùng không có mục nhập trong User_Sports theo nhận xét



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cho phép người dùng MySQL tạo cơ sở dữ liệu nhưng chỉ cho phép truy cập vào cơ sở dữ liệu của riêng họ

  2. có điều kiện cập nhật khóa trùng lặp

  3. Cơ sở lý luận về MySQL Fulltext Stopwords

  4. Sử dụng thư mục dữ liệu MySQL trước đó khi cài đặt MySQL mới

  5. Làm thế nào để lập lịch chức năng động với cron job?