从用户属于的项目中检索客户端

时间:2009-08-28 08:35:34

标签: mysql

用户可以拥有多个项目,项目可以拥有多个客户端。 如何从用户所属的项目中获取所有唯一客户端?

表: - 用户 - 项目 - 客户 - 项目客户

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

1 个答案:

答案 0 :(得分:0)

首先,如果用户可以拥有多个项目,则需要一个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)