Mysql
 sql >> Base de données >  >> RDS >> Mysql

SQL Join plusieurs identifiants séparés par des virgules

Vous avez besoin d'un nouveau tableau de coûts pour chaque coût :

Projects
-----------------
Project_id
Name

Users
--------------------
User_id
Username

Costs
----------------
Cost_id
Amount
Project_id
User_id

..

Pour trouver les coûts des projets par projet par utilisateur :

Select sum(c.Amount) as total_cost, count(*) as num_costs, p.Project_id,p.Name as project_name, u.user_id, u.Username
From costs c inner join project p on c.Project_id=c.Project_id
Inner join users u
On c.User_id=u.User_id
Group by p.Project_Id, u.user_id

Pour les coûts par utilisateur

Select sum(c.Amount) as total_cost, count(*) as num_costs, u.user_id, u.Username
From costs c 
Inner join users u
On c.User_id=u.User_id
Group by u.user_id