Я ищу способ получить записи в одном запросе sql для сложных объединений. У меня три таблицы позволяют говорить пользователям, user_projects и встречам. Пользователь может быть назначен нескольким проектам, и пользователь может иметь несколько встреч в разные даты. Как выбрать всех пользователей, назначенных для проектов1 и project2, и назначить встречи на дату1 и дату2? Я использую Postgres 9,5SQL-таблицы join
Образец данных:
users
стол:
id, name
1, Steve
2, Bill
3, Emma
user_projects
стол:
id, user_id, project_id
1, 1, 1
2, 2, 1
3, 3, 1
4, 1, 2
appointments
стол:
id, user_id, date
1, 1, 2016-10-07
2, 2, 2016-10-07
3, 3, 2016-10-07
4, 1, 2016-11-15
5, 2, 2016-11-15
Для этого специального случая можно сказать, что я хочу найти всех пользователей, принадлежащих проекту с идентификаторами 1 и 2, и назначить встречу на дату 2016-10-07 и 2016-11-15. И ожидаемый результат должен включать только пользователя с идентификатором 1, т.е. Стив в этом случае
* Я ищу лучший способ * ... что означает, что у вас уже есть рабочий запрос. Можете ли вы опубликовать свой существующий SQL? Кроме того, какую базу данных вы используете? – sstan
Я думаю, что это простое соединение ищут некоторые специальные –
Как выглядит ваш запрос до сих пор? И какой вкус SQL это? –