10
votes

Somme résulte de deux états sélectionnés

Nos employés sont une commission payée chaque semaine et en raison d'une structure de bonus, je dois calculer deux semaines de rémunération distinctes, puis ajouter les deux ensemble.

J'ai la déclaration SQL suivante qui obtient les deux premières semaines distinctes xxx

Cela me fait que cela me donne les données dont j'ai besoin, mais je voudrais combiner les deux résultats dans une table avec les mêmes colonnes, mais avoir certaines des colonnes ajoutées ensemble (commissionnay, ptopay , HolidayPay, Heures supplémentaires, TotalPay). Quelle est la meilleure façon de procéder? J'utilise SQL Server 2008 R2.


0 commentaires

3 Réponses :


14
votes

Essayez ceci xxx


0 commentaires

1
votes

Faites de votre requête une sous-requête et groupe au niveau "Superquery":

SELECT PerceptionistID, SSNLastFour, sum(CommissionPay), ...
FROM 
(
SELECT  PerceptionistID, SSNLastFour, CommissionPay,
    PTOPay, HolidayPay, Overtime, TotalPay
FROM [dbo].fnCalculateCommissionForWeekOf(@MondayOfCurrentWeek)

UNION

-- Need to get the following week's data and sum the two together
SELECT  PerceptionistID, SSNLastFour, CommissionPay,
    PTOPay, HolidayPay, Overtime, TotalPay
FROM [dbo].fnCalculateCommissionForWeekOf(@MondayOfFollowingWeek)
) AS X
GROUP BY PerceptionistID, SSNLastFour


0 commentaires

0
votes

Que diriez-vous de modifier [DBO] .FncalculaTecommissionForweekof ou de créer une nouvelle fonction qui prend une date de début et de fin. De cette façon, vous pouvez utiliser la même fonction et la même logique, pour courir contre toute période de dates, y compris la semaine dernière, 2 semaines, mois, année, etc.


0 commentaires