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

条件付きのLEFTOUTERJOIN(どこで、注文するか)?

    このクエリを試してみてください。各トレーニングと各トレーニングの最新のトレーニング履歴が表示されます:

    SELECT tc.id, tc.name, tc.order, 
    th.id as history_id, th.finished_at, th.score
    FROM trainings tc
    LEFT OUTER JOIN training_histories th ON th.training_id = tc.id 
        and th.id =
        (SELECT th1.id from training_histories th1 where th1.training_id = tc.id
         and th1.finished_at is not null
         order by th1.finished_at desc limit 1)
    WHERE tc.id > 4
    AND tc.id < 8
    GROUP BY tc.id
    ORDER BY tc.order_by ASC, tc.id ASC
    


    1. 単一の列の値を複数の列の値に分割するにはどうすればよいですか?

    2. mysqlで列名descを使用できません

    3. MySQLで2つのテーブルを比較する方法

    4. アポストロフィによるHibernateのQueryException