Ниже приведен код, чтобы определить, существуют ли идентификаторы пользователя: 1 followerid = 2 И userid = 2 followerid = 1, тогда пользовательский столбец «bool» вернет TRUE. Однако, как-то я не могу избавиться от лишней строки. Любое лучшее предложение или рекомендации приветствуются. Спасибо.SQL Query filter с настраиваемым полем
SELECT DISTINCT a.id, a.userid, a.followerid,
CASE WHEN b.userid=a.followerid AND b.followerid=a.userid
THEN 'TRUE' ELSE 'FALSE' END AS bool
FROM tableUserfollow AS a, tableUserfollow AS b
where a.userid=1
tableUserFollow:
id userid followerid
1 1 2
2 3 4
3 1 4
4 5 1
5 2 1
В результате вывод должен быть:
1 1 2 TRUE
3 1 4 FALSE
вместо этого:
1 1 2 FALSE
1 1 2 TRUE
3 1 4 FALSE
Вы не правильно объединять эти две таблицы. Вы должны использовать JOIN между этими двумя с надлежащим состоянием. Теперь у вас есть эквивалент CROSS JOIN (но в синтаксисе SQL старой школы, который устарел). –