好吧,我会尽量精确的。我有一个数据库,其中包含具有父注解id的注解。我想从该表中选择一些注解以及与这些注解匹配的答案。我的问题来了:如果我任意选择评论,我可能会抓住一些没有任何答案的人。但是,如果我先选择评论答案,我可能会抓取已经是另一个评论答案的答案。所以,我要做的是抓取对某个注解(parent\u comment\u id=null)的即时答案,然后根据parent\u comment\u id获取这些注解。在查询中如何处理这个问题?
假设数据库的这种布局
comment_id parent_comment_id
1 NULL
2 NULL
3 1
4 3
5 1
6 3
7 1
8 4
9 NULL
10 NULL
...
现在,我来选择两个答案和相应的评论。如果我只选择前两个答案,我会得到评论3和4,但如果我回溯这些,我只会得到评论1,因为评论4是一个答案的答案。相反,我只想找到父注解没有父注解的注解,在本例中是注解3和注解5。
我真的没有尝试过任何东西,只是意识到如果不以某种方式递归地获取父级(我不知道如何在sql查询中这样做),它是行不通的。
2条答案
按热度按时间pbpqsu0x1#
我用一个很简单的方法解决了这个问题。可能是可怕的做法,但适用于我的用例^^
对于给定的示例,它是这样的:
kr98yfug2#
我只想找到父注解没有父注解的注解。
我认为您只需要一个自连接和一些过滤:
你也可以用
exists
: