Я собираю несколько значений DischargeType в одну категорию под названием «Апелляции».Это работает нормально, но совокупное поле MIN (DateReceived) приводит к тому, что результаты выдают 1 значение DateReceived для каждого типа апелляций, когда я просто хочу его для всей категории апелляций.Я думал, что мог бы просто добавить тот же оператор CASE в предложение GROUP BY, но я не знаю, как это сделать с помощью функции ROLL UP.Значение NULL в последней строке является строкой итогов.Спасибо
<code><PRE>
CREATE PROCEDURE [dbo].[p_ReportMonthlySAEProcessing]
@StartDate smalldatetime = NULL,
@EndDate smalldatetime = NULL
AS
BEGIN
SELECT
CASE
WHEN DischargeType = 'dqs' THEN 'Disqualifying Status'
WHEN DischargeType = 'fraud' THEN 'Fraud'
WHEN DischargeType = 'id theft' THEN 'ID Theft'
WHEN DischargeType = 'unenforceable' THEN 'Unenforceable'
WHEN DischargeType = 'unp' THEN 'Unpaid Refund'
WHEN DischargeType = 'uns' THEN 'Unauthorized Signature/Payment'
WHEN DischargeType IN ('atb appeal', 'cls appeal','dqs appeal','id
theft appeal','unp appeal','uns appeal') THEN 'Appeals'
END AS DischargeType
,SUM(CASE WHEN (DateReceived > @StartDate AND DateReceived < DATEADD(dd,
1, @EndDate)) THEN 1 ELSE 0 END) AS Claims_Received
,SUM(CASE WHEN (DateCompleted > @StartDate AND DateCompleted <
DATEADD(dd, 1, @EndDate)) THEN 1 ELSE 0 END) AS Claims_Completed
,SUM(CASE WHEN DateCompleted IS NULL THEN 1 ELSE 0 END) AS Claims_Pending
,MIN(DateReceived) AS [Oldest_Claim]
FROM
Claims
GROUP BY
DischargeType WITH ROLLUP
ORDER BY
CASE WHEN DischargeType IS NULL THEN 1 ELSE 0 END, DischargeType
Текущие результаты:
Желаемые результаты: