У меня есть users
таблицу с полями user_id и имя пользователя и я запрашивая его следующим образом:выберите пользователя и все голоса SQL
SELECT user_id, username FROM users WHERE user_id=$1
У меня также есть votes
таблицу, которая имеет поля POST_ID и user_id. user_id - это внешний ключ, ссылающийся на поле user_id в таблице users.
Я хотел бы добавить к моему первоначальному запросу, чтобы выбрать все голоса, которые являются дочерними голосами этого пользователя, и все они запускаются в том же запросе. Может быть, это нужно сделать в отдельный запрос? Я хочу сделать все это сразу, чтобы получить самые точные результаты, но я не нашел способ ...
База данных - это postgres кстати.
EDIT ОК, сначала я пробовал использовать как внутренние методы соединения, так и не работал, если не было голосов.
Когда есть голос, и я использую некоторую левую внешнюю полную внешнюю вещь .. она возвращает таблицу, как это:
user_id | username | post_id
---------+----------+---------
6 | dbot77 | 3
6 | dbot77 | 5
НО ВОЗВРАЩАЕТСЯ бесполезную повторяющуюся информацию
Я просто хочу, только что из моих рук ...
user_id | username | post_id
---------+----------+---------
6 | dbot77 | 3
| | 5
ИЛИ ДАЖЕ ЛУЧШЕ
user_id | username | vote_post_ids
---------+----------+---------
6 | dbot77 | [5, 3, etc.]
| |
Что именно вы хотите получить из таблицы «голосов»? Число голосов, поданных каждым пользователем? – Patrick
Я хочу получить каждую строку голосования, которая ссылается на моего пользователя. моя мама сказала, что это очень просто, поэтому я чувствую себя смущенным. пожалуйста, помогите – Derek
Мы будем делать вам плохую услугу, если мы дадим вам sql для этого :-) вы должны прочитать о внутреннем соединении http://www.postgresqltutorial.com/postgresql-inner-join/ – e4c5