私はマネージャーとそれらに報告するすべての人の合計売上を返すストアドプロシージャを作成しています。売上高がない場合は合計ゼロを返しますが、一定期間内に売上がない場合は現在何も返されません。0を返しません0
CREATE PROCEDURE prc_ManagerTotalSales @managerID INT,
@beginDate DATE,
@endDate DATE,
@group VARCHAR(15) = 'total'
AS
BEGIN
SELECT
FirstName + ' ' + e.LastName AS Name,
COALESCE(SUM(od.UnitPrice * od.Quantity), 0) AS TotalSales
FROM
dbo.Employees e
LEFT OUTER JOIN dbo.Orders o ON e.EmployeeID = o.EmployeeID
LEFT OUTER JOIN dbo.[Order Details] od ON o.OrderID = od.OrderID
WHERE
(e.EmployeeID = @managerID OR e.ReportsTo = @managerID)
AND o.OrderDate >= @beginDate
AND o.OrderDate <= @endDate
GROUP BY
e.FirstName,
e.LastName
END
あなたの 'where'は、注文をしていない従業員を除外します。結合に条件を追加します(特に 'o.OrderDate')。 – Caramiriel