Получить клиентов из проектов Пользователь принадлежит - PullRequest
0 голосов
/ 28 августа 2009

Пользователи могут иметь несколько проектов, а проекты могут иметь несколько клиентов. Как получить всех уникальных клиентов из проектов, к которым принадлежит пользователь?

Таблица: - Пользователи - проекты - клиенты - Клиенты проекта

SELECT client_id, client_name FROM clients.. ? JOINS, USING.. ?.. what?

1 Ответ

0 голосов
/ 28 августа 2009

Во-первых, если у пользователей может быть несколько проектов, вам понадобится таблица Project-Users.

Учитывая это, вы можете получить то, что хотите, используя любой из этих кусков SQL:

select distinct c.id from
clients c
join projectclients pc on c.id=pc.clientid
join projects p on pc.projectid=p.id
join projectusers pu on p.id=pu.projectid
join users u on u.id=pu.userid
where u.id=3

select distinct c.id from
clients c join projectclients pc on c.id=pc.clientid
where pc.projectid in
(select projectid from
users u join projectusers pu on u.id=pu.userid
where u.id=3)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...