#sql #postgresql
#sql #postgresql
Вопрос:
У меня есть две таблицы, таблицы пользователей и отношений. Таблица пользователей содержит следующие столбцы:
id, name,password,username,email,avatar,followersCount,followingCount,tweetCount.
И таблица отношений содержит следующие столбцы:
id, followingId, followerId
Как мне создать SQL-запрос для извлечения пользователя с определенным идентификатором и поиска идентификаторов из отношений, за которыми следит пользователь? Другими словами, найдите людей, за которыми следует пользователь
Я зашел так далеко так долго
SELECT *
FROM public."Users" JOIN
public."Relationships"
ON (public."Users".id = public."Relationships".id)
Комментарии:
1. Примеры данных и желаемые результаты помогут. Есть ли проблема с вашим запросом?
Ответ №1:
Если я правильно понимаю, вы хотите:
SELECT u.*
FROM public."Relationships" r JOIN
public."Users" u
ON u.id = r.followerId
WHERE r.followingId = ?;
?
является заполнителем параметров для пользователя, о котором вы заботитесь. Это возвращает всех подписчиков этого пользователя.
Ответ №2:
Вы имеете в виду этот запрос
SELECT public."Users".*
FROM public."Users"
JOIN public."Relationships"
ON public."Users".id = public."Relationships".followingId
AND public."Relationships".followerId = a user ID
Я не совсем понимаю followerId
и followingId
имею в виду, но вы можете изменить их в запросе, если это не то, что вы хотите.