sql >> データベース >  >> RDS >> Mysql

IF条件を使用したMySQLJOIN

    これはすでに解決されていると思いますが、同様の問題を抱えている人向けです。

    複数の左結合を試して、すべてのデータを取得することもできます

    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)
    


    1. MYSQLifステートメントの質問

    2. PHP + MySQLアプリケーションを自己更新するためのベストプラクティスは何ですか?

    3. PostgreSQLでパターンを照合しながら文字列をエスケープする方法

    4. SELECT ... ORDER BY xxx LIMIT 1 FOR UPDATEによってロックされる行数はいくつですか?