sql >> Base de Datos >  >> RDS >> Mysql

MySQL JOIN con condiciones IF

Estoy seguro de que esto ya está resuelto, pero para personas con un problema similar.

También puede intentar varias uniones izquierdas para obtener todos los datos

SELECT *, IF (users.type = 1, p.name, c.name) AS name FROM users
LEFT JOIN private AS p ON (users.type = 1 AND users.id = p.user_id) 
LEFT JOIN company AS c ON (users.type != 1 AND users.id = c.user_id)