用户可以拥有多个项目,项目可以拥有多个客户端。 如何从用户所属的项目中获取所有唯一客户端?
表: - 用户 - 项目 - 客户 - 项目客户
SELECT client_id, client_name FROM clients.. ? JOINS, USING.. ?.. what?
答案 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)