我有以下SQL sp,我想添加一个只是'GrossSales' - 'Credits'的'NetSales'列。有没有办法在同一个SELECT语句中做到这一点?在SQL中添加列SELECT
SELECT p.PerceptionistID, p.BaseCommission, p.BonusCommission, h.WeekOf, h.WorkHours, h.PTOHours, h.HolidayHours,
ROUND(h.WorkHours, 0) AS HoursRounded,
(
SELECT COUNT(c.PerceptionistID)
FROM T_Call c
WHERE
c.PerceptionistID = p.PerceptionistID
AND c.OutcomeID = @OutcomeSale
AND EnteredOn BETWEEN @WeekOf AND DATEADD(dd, 7, @WeekOf)
) AS GrossSales,
(
SELECT COUNT (c.PerceptionistID)
FROM T_CallCredit cc
FULL JOIN T_Call c
ON cc.CallID = c.CallID
WHERE
c.PerceptionistID = p.PerceptionistID
AND cc.CallCreditStatusID NOT IN (17, 18) -- 17 - 'Error in Customer Account', 18 - 'Courtesy Credit'
AND cc.EnteredOn BETWEEN @WeekOf AND DATEADD(dd, 7, @WeekOf)
) AS Credits
--------------------------------------------------
-- would like to have something like the following
SUM(GrossSales - Credits) AS NetSales
FROM T_Perceptionist p
FULL JOIN T_PerceptionistHours h
ON p.PerceptionistID = h.PerceptionistID
WHERE h.WeekOf = @WeekOf
TIA,布赖恩
哪个RDBMS?哪个版本? – 2011-09-27 20:19:48
SQL Server 2008 R2 – BrianKE