【发布时间】:2020-05-18 00:45:15
【问题描述】:
我有一个带有 cmets 的 SQLite 表,例如:
Id | replyId | commentID_parentID | usernameChannelId | channelId
1 | NULL | NULL | a | g
2 | NULL | NULL | b | k
NULL | 1.k | 1 | a | p
NULL | 1.p | 1 | c | i
3 | NULL | NULL | d | h
NULL | 2.k | 2 | g | g
还有一个带有如下频道的表格:
我想知道哪个用户(userChannelId)回复了哪个用户。
所以我在评论中排了一行并检查是否:
- Id == NULL?然后是回复 -> get userChannelId where commentID_parentID == Id
- Id != NULL?然后是主评论->userChannelId回复了channelId
结果应该是:
userChannelId_Source | userChannelId_Target
a | g
b | k
a | a
c | a
g | b
评论“d”没有commentID_parentID == Id的条目,因此被省略了。
当我在同一个表中查询时,如何在 SQL 中做到这一点?
【问题讨论】:
标签: sql sqlite conditional-statements