2013-03-08 118 views
1

我正在努力与MySQL现在。基本上,我有三个表:MySQL和连接

  • 评论(ID,thread_id单,...)
  • 线程(ID,forum_id,...)
  • 论坛(ID,...)

而这就是我想出了从一个特定的论坛选择的所有主题:

SELECT * FROM threads WHERE forum_id IN (
    SELECT * 
    FROM threads 
    WHERE id = 4 
) 

现在,我不明白的是如何选择从汉邦所有评论cular论坛。

难道不是那么难吗?

鲍勃

回答

1

试试这个:

select comments.* 
from forums 
left join threads 
on threads.forum_id = forums.id and forums.id = 4 
left join comments 
on threads.id = comments.thread_id 
; 

阅读的问题后,我觉得鲍勃希望所有从论坛ID为4。不知道我的意见是正确的。

+0

Radical先生,这正是我的目标。非常感谢! – Bob 2013-03-09 09:39:39

1

试试这个

select * from threads 
inner join forums 
on forums.id = threads.forum_id 
inner join comments 
on comments.thread_id = threads.id 
where threads.id = 4 
+0

或者他的意思是“where forums.id = 4”。他的原始查询,尽管它*说*它拉动所有threads.id = 4,实际上可能需要所有forums.id = 4,因为他说他想从一个特定的论坛拉出所有主题。我不认为他的问题是完全清楚的。 – Melanie 2013-03-08 22:25:39

+0

@Melanie他没有给出任何例子,只是他的想法和查询。 – 2013-03-08 22:29:09

+0

Melanie和echo_me:对不起,没有任何例子。激进先生帮我解决了问题。 – Bob 2013-03-09 09:40:33