sql >> Databáze >  >> RDS >> Mysql

SQL Join více ID oddělených čárkou

Pro každou cenu potřebujete novou tabulku nákladů:

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

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

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

..

Chcete-li zjistit náklady projektů na projekt a uživatele:

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

Pro náklady na uživatele

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



  1. Získání překročení časového limitu čekání na zámek; zkuste restartovat transakci, i když transakci nepoužívám

  2. Jak odstranit atribut z proměnné XML na serveru SQL Server 2008?

  3. Jak odkazovat na klíče JSON, které obsahují speciální znaky při používání OPENJSON, JSON_QUERY a JSON_VALUE (SQL Server)

  4. Získejte počet po sobě jdoucích dnů splňujících daná kritéria