2009-08-28 7 views
0

Les utilisateurs peuvent avoir plusieurs projets et les projets peuvent avoir plusieurs clients. Comment puis-je obtenir tous les clients uniques des projets auxquels appartient un utilisateur?Récupérer des clients à partir de projets L'utilisateur appartient à

Tables: - Utilisateurs - Projets - Clients - Clients du projet

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

Répondre

0

Tout d'abord, si les utilisateurs peuvent avoir plusieurs projets, vous aurez besoin d'un tableau de projet utilisateurs.

Étant donné que, vous pouvez obtenir ce que vous voulez en utilisant l'une de ces pièces de 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) 
Questions connexes