Combinant deux statemen select sql

J'ai DB suivant: entrez la description de l'image ici

Et je veux get le bénéfice total de tous les marchés. C'est le prix total des achats – le nombre total de salaire que vous avez payé pour l'employé.

J'ai donc de telles requêtes: je reçois la sum de tous les achats pour chaque marché

SELECT Markets.Title, SUM(Purchase.TotalPrice) sum FROM Purchase INNER JOIN Employees ON Purchase.Employee_ID = Employees.Employee_ID INNER JOIN Markets ON Employees.Market_ID = Markets.Market_ID GROUP BY Markets.Title 

Dans une autre requête, je reçois la sum totale du salaire payé:

 SELECT Markets.Title, SUM(Employees.Salary) sum FROM Employees INNER JOIN Markets ON Employees.Market_ID = Markets.Market_ID GROUP BY Markets.Title 

Mais je suis confus comment combiner ces requêtes afin de tirer profit de chaque marché (sum de toutes les commands – sum de tous les salaires). Quelqu'un peut-il m'aider plz?

 SELECT m.Title , e.TotalSalary , e.TotalPrice FROM dbo.Markets m JOIN ( SELECT e.Market_ID , TotalSalary = SUM(e.Salary) , TotalPrice = SUM(p.TotalPrice) FROM dbo.Employees e JOIN ( SELECT Employee_ID, TotalPrice = SUM(TotalPrice) FROM dbo.Purchase GROUP BY Employee_ID ) p ON p.Employee_ID = e.Employee_ID GROUP BY e.Market_ID ) e ON e.Market_ID = m.Market_ID 

Quelque chose comme………

 SELECT SUB_Q.Title, SUM(SUB_Q.Tot) FROM ( SELECT Markets.Title, sum(Purchase.TotalPrice) as Tot FROM Purchase INNER JOIN Employees ON Purchase.Employee_ID = Employees.Employee_ID INNER JOIN Markets ON Employees.Market_ID = Markets.Market_ID GROUP BY Markets.Title UNION ALL SELECT Markets.Title, sum(Employees.Salary) as Tot FROM Employees INNER JOIN Markets ON Employees.Market_ID = Markets.Market_ID GROUP BY Markets.Title ) SUB_Q GROUP BY SUB_Q.Title 

il suffit d'append le mot-key UNION entre les deux SELECT

Voir ici pour plus de détails sur UNION: https://msdn.microsoft.com/fr-fr/library/ms180026%28v=sql.120%29.aspx