Как вернуть строку varchar вместо null с помощью накопительного пакета? - PullRequest
2 голосов
/ 23 марта 2011

Когда я запускаю этот запрос:

select
    First_Name,
    sum(a) a,
    sum(b) b,
    sum(c) c
from someTable
group by First_Name with rollup

первый столбец First_Name и последняя строка (итоговая строка) показывают NULL (так как его нельзя суммировать), я хочу показатьпользовательское строковое значение вместо нуля.Я знаю, что могу использовать isnull или case здесь, но я хочу, чтобы это затронуло только свернутый ряд.

Спасибо!

Ответы [ 2 ]

3 голосов
/ 23 марта 2011
SELECT  CASE WHEN GROUPING_ID(First_Name) = 1 THEN 'Total' ELSE First_Name END,
        SUM(a),
        SUM(b),
        SUM(c)
FROM    data
GROUP BY
        First_Name WITH ROLLUP
1 голос
/ 23 марта 2011

CASE WHEN GROUPING(First_Name) = 1 THEN 'FOO' ELSE First_Name END AS First_Name

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...