I am not that good with sql and i need to be able to get this query to return the same information but i also need the HoursWorked that is in the subselect to return its value. I would also LOVE any advise on making this run faster
THANK ALOT!
SELECT TOP (5) SUM(Commissions.UnitsSold * Commissions.PriceAtSale / Commissions.Split) /
(SELECT ISNULL(SUM(CAST(DATEDIFF(ss, Clockin, ISNULL(ClockOut, @CurTime)) AS float) / 60 / 60), 1) AS HoursWorked
FROM Emp_TimeCard
WHERE (Clockin <= GETDATE()) AND (ISNULL(ClockOut, GETDATE()) <= GETDATE()) AND (Clockin >= @TheDate) AND
(Commissions.EmployeeUID = EmployeeUID) AND
(HoursWorked >= 1)
GROUP BY EmployeeUID) AS DollarPerHour, Emp_General.LastName + ', ' + Emp_General.FirstName AS EmpName, Commissions.EmployeeUID
FROM Commissions
INNER JOIN Emp_General
ON Commissions.EmployeeUID = Emp_General.EmployeeUID
WHERE (Commissions.Deleted = 0) AND (Emp_General.Deleted = 0) AND (Commissions.DateofSale >= @TheDate)
AND
(Commissions.DateofSale < DATEADD(dd, 1, @TheDate))
GROUP BY Commissions.EmployeeUID, Emp_General.LastName, Emp_General.FirstName
ORDER BY DollarPerHour DESC
THANK ALOT!
SELECT TOP (5) SUM(Commissions.UnitsSold * Commissions.PriceAtSale / Commissions.Split) /
(SELECT ISNULL(SUM(CAST(DATEDIFF(ss, Clockin, ISNULL(ClockOut, @CurTime)) AS float) / 60 / 60), 1) AS HoursWorked
FROM Emp_TimeCard
WHERE (Clockin <= GETDATE()) AND (ISNULL(ClockOut, GETDATE()) <= GETDATE()) AND (Clockin >= @TheDate) AND
(Commissions.EmployeeUID = EmployeeUID) AND
(HoursWorked >= 1)
GROUP BY EmployeeUID) AS DollarPerHour, Emp_General.LastName + ', ' + Emp_General.FirstName AS EmpName, Commissions.EmployeeUID
FROM Commissions
INNER JOIN Emp_General
ON Commissions.EmployeeUID = Emp_General.EmployeeUID
WHERE (Commissions.Deleted = 0) AND (Emp_General.Deleted = 0) AND (Commissions.DateofSale >= @TheDate)
AND
(Commissions.DateofSale < DATEADD(dd, 1, @TheDate))
GROUP BY Commissions.EmployeeUID, Emp_General.LastName, Emp_General.FirstName
ORDER BY DollarPerHour DESC