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

MySQL結合:ソーステーブルデータに基づいて結合するテーブルを選択する

    複数のleft joinが必要 s、タイプを条件とします。私はこのようなものだと思います:

    SELECT e.*,
           COALESCE(h.name, f.name, c.name, r.name) as name
    FROM events e LEFT JOIN
         holidays h
         on h.id = e.reference_id AND
            e.topic_type = 'holiday' LEFT JOIN
         fundays f
         on f.id = e.reference_id AND
            e.topic_type = 'funday' LEFT JOIN
         cruises c
         on c.id = e.reference_id AND
            e.topic_type = 'cruise' LEFT JOIN
         recruitment r
         on f.id = e.reference_id AND
            e.topic_type = 'recruitment'    
    WHERE e.event_id = 1 
    


    1. SQL Serverのデフォルトの日付タイムスタンプ?

    2. PHPとMySQLを使用したUnicode文字列(हिन्दी)の保存と表示

    3. 等しい(=)と1つのリテラル値を持つINのパフォーマンスの違い

    4. MySQL-Clusterの起動に失敗する