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

2つのテーブルがある場合、一方のテーブルからすべてのデータを選択し、もう一方のテーブルから最新のものだけを選択します

    まず、各カテゴリの最新の投稿を見つけます:

    select topic_cat, max(topic_id) as latest_topic
    from topics group by topic_cat
    

    次に、それを参加条件に追加します:

    SELECT  c.cat_name AS Category, t.topic_name AS Recent_Topic 
    FROM categories c
    left JOIN topics t on c.cat_id = t.topic_cat 
    left join (select topic_cat, max(topic_id) as latest_topic
            from topics group by topic_cat) as latest_topics 
            on latest_topics.topic_cat = c.cat_id
            and latest_topics.latest_topic = t.topic_id 
    where latest_topics.topic_cat is not null or t.topic_cat is null;
    


    1. MySQLクエリエディタで列を並べ替えるにはどうすればよいですか?

    2. ZendDbを使用したネストされた選択

    3. (My)SQLステートメントの構文が正しいかどうかを確認するにはどうすればよいですか?

    4. Postgres関数がテーブルを返し、列にデータを返さない