2010-03-17 70 views
0

我有兩個表 - forum_topicstopics_posts。我想從forum_topics中選擇topics_posts表中沒有帖子的行,但無法弄清楚如何操作。請問一個SQL語句像這樣存在:MySQL選擇行不在另一個表中的行

select from * `forum_topics` where have no rows in `topics_posts` 

回答

2

我想你想這樣的事情:

select * from forum_topics t 
where not exists (
    select * from topics_posts p 
    where p.topic_id = t.id 
); 

雖然使用外連接時,可能會有點比子查詢更快:

select * from forum_topics t left outer join forum_posts p 
on t.id = p.topic_id 
where p.id is null; 
+0

非常感謝你的工作好(外連接) – 2010-03-17 10:02:11

相關問題