Mysql
 sql >> Base de données >  >> RDS >> Mysql

Tables de jointure MySQL

INNER JOIN est la bonne approche.

La requête serait

SELECT user.id, user.name, user.status
FROM table1 AS user
INNER JOIN table2 AS service1 ON service1.sid = user.id
INNER JOIN table3 AS service2 ON service2.oid = user.id
WHERE service1.status = 1 AND service2.status = 1

Si vous voulez des utilisateurs qui sont sur service1 OU service2, la requête pourrait être

SELECT user.id, user.name, user.status
FROM table1 AS user
WHERE user.id IN (SELECT sid FROM table2 WHERE status=1) OR
      user.id IN (SELECT oid FROM table3 WHERE status=1)