sql >> Database teknologi >  >> RDS >> Mysql

Med to tabeller skal du vælge alle data fra den ene tabel og kun de seneste fra den anden

Find først det seneste indlæg i hver kategori:

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

Føj det derefter til dine tilmeldingsbetingelser:

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 får rækker, men foretrækker en kolonneværdi frem for en anden

  2. SQL:hvordan forespørgsel i sql rækkefølge ved oprettet i dette tilfælde

  3. SQL Server:SLET vs TRUNCATE

  4. Spring fejllinjer over, mens data indlæses til mysql-tabel fra afgrænset fil