MySQL JOIN with IF conditions

后端 未结 4 949
遇见更好的自我
遇见更好的自我 2020-12-28 15:40

I want to get some results via query simillar to:

SELECT 
    * FROM
    users LEFT JOIN
    IF (users.type = \'1\', \'private\',\'company\') AS details ON
          


        
4条回答
  •  悲哀的现实
    2020-12-28 15:59

    I'm sure this is already resolved, but for people with a similar problem.

    You can also try to multiple left joins to get all the data

    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)
    

提交回复
热议问题