У меня есть таблица 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? Тогда это ответ -> получить userChannelId, где 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, когда я запрашиваю в той же таблице?