sql >> Database >  >> RDS >> Mysql

Gegeven twee tabellen, selecteer alle gegevens van de ene tabel en alleen de meest recente van de andere

Zoek eerst het laatste bericht in elke categorie:

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

Voeg dat dan toe aan je deelnamevoorwaarden:

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. ongewenste voorloopspatie in orakelnummerformaat

  2. wat is de alternatieve functie mysql_list_tables() in php 5

  3. Hoe FOUT op te lossen:kolom c.relhasoids bestaat niet in Postgres?

  4. return count 0 met mysql group by