【问题标题】:inner join shows same table for comments内部联接显示相同的表以供评论
【发布时间】:2013-12-27 11:49:54
【问题描述】:

我需要获取用户启动并由他回答的 cmets。 我试图在下面inner join,但他重复了结果。 我需要向用户展示他从答案开始的评论,并且他都回复了。

select *
from comments as comment
join comments as parent
on comment.user_parent_id = parent.user_id
where comment.member = 123
user_id | user_fname | user_lname | user_parent_id | member
1       | test 1     | xx         | 1              | 123
2       | test 2     | xx         |                |
3       | test 3     | xx         |                |
4       | test 4     | xx         | 1              | 123

【问题讨论】:

  • 您似乎正在尝试加入对自己的评论?你的意思是join parent as parent on...
  • 我正在尝试在同一张桌子上进行连接
  • 如果数据在同一张表上,那么join的目的是什么?
  • 是一个由 cmets 和回复组成的系统,需要同时显示“用户 X”已启动并且他在“用户 Y”的 cmets 中做出了回复
  • 请提供您想要的结果的示例。

标签: sql join inner-join


【解决方案1】:

您可以创建递归 SQL 函数、使用层次索引 (SQL Server) 或创建“while has parent”循环。

【讨论】:

猜你喜欢
  • 2014-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-01
  • 2019-01-31
  • 1970-01-01
  • 2016-11-18
  • 2017-11-19
相关资源
最近更新 更多