Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL unisci le tabelle

INNER JOIN è l'approccio giusto.

La domanda sarebbe

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

Se vuoi utenti che sono su servizio1 O servizio2, la query potrebbe essere

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)