0
我正在尝试代码我自己的论坛系统,并且一切都进行得很顺利,除了1件事情。在2个独立的东西上检索2个独立用户的用户名
在浏览某个类别时,我如何能够检索每个线程的创建者的用户名,以及每个线程中发布最后一篇文章的用户的用户名?
这是我到目前为止,但我仍然只检索1个用户名(OP的用户名)。
SELECT
c_name, <-- category name
t_title, <-- thread title
t_by, <-- thread started by user id
username, <-- username of the thread starter
p_by, <-- post by user id
p_date, <-- post posted date
COUNT(p_id) as total_posts
FROM
forum_categories
LEFT JOIN
forum_threads
ON
t_cat = c_id
LEFT JOIN
forum_posts
ON
p_thread = t_id
LEFT JOIN
users
ON
t_by = id
AND
p_by = id
WHERE
t_cat = 1
正如你所看到的,我只检索线程启动器的用户名。 它甚至可以用单个查询来做到这一点吗?
感谢
你可以在同一个查询中两次加入同一个表吗? – MrE 2012-01-29 22:08:37
当然,一个典型案例是'employees' oracle示例表。它包含'manager_id'的外键,其中'manager_id'也是'employee',您可以加入员工。在这种情况下,你所需要的就是给表分配一个别名。 – danihp 2012-01-29 22:14:52
男人我觉得愚蠢的,因为之前没有尝试过。完美的作品:)。 非常感谢。将其标记为一旦可能的答案。 – MrE 2012-01-29 22:15:06