Я хочу добавить строки 6 и 13 к результатам.
SELECT
ARPDisplayName0
FROM
v_GS_INSTALLED_SOFTWARE
WHERE
ARPDisplayName0 = 'Adobe Acrobat 9 Pro' or
ARPDisplayName0 = 'Bomgar'
Мне нравится использовать Grouping Sets
для таких элементов
Пример
Select ARPDisplayName0
,ComputerName = coalesce(ComputerName,concat('Total ',sum(1)))
From v_GS_INSTALLED_SOFTWARE
Group By Grouping Sets (
(ARPDisplayName0,ComputerName)
,(ARPDisplayName0)
)
Результаты
ARPDisplayName0 ComputerName
Acrobat Comp1
Acrobat Comp2
Acrobat Comp3
Acrobat Total 3
Bomgar Comp1
Bomgar Comp2
Bomgar Total 2
Спасибо! @YourTable — это всего лишь временная таблица, верно? INSERT INTO — это то, от чего я избегал
@My9to5 My9to5 (at)YourTable - это просто демонстрационная табличная переменная - см. обновленный ответ.
CASE WHEN GROUPING(ComputerName) = 1...
вместо COALESCE
, вероятно, лучше, так как он возвращает правильные результаты перед лицом нулей. Вы также можете добавить ORDER BY ARPDisplayName0, GROUPING(ComputerName)
, чтобы сделать его аккуратным
@Charlieface Справедливый комментарий. В этом случае я подозреваю, что ORDER BY имеет немного больший вес. Я не могу представить значение NULL ComputerName.
@ My9to5 Всегда рад помочь.
В соответствии с руководством по вопросам, пожалуйста, не публикуйте изображения кода, данных, сообщений об ошибках и т. д. - скопируйте или введите текст в вопрос. Пожалуйста, зарезервируйте использование изображений для диаграмм или демонстрации ошибок рендеринга, вещей, которые невозможно точно описать с помощью текста.
Обычно это функция переднего конца.
Отвечает ли это на ваш вопрос? Добавить итоговую строку с итоговыми значениями
Спасибо, Дейл, я это видел. Но будет ли он добавлять его после каждого значения?
Полностью потерян. Ваш запрос возвращает один столбец, но ваши данные имеют два. Предложение
WHERE
вызовет ошибку. Пожалуйста, хотя бы укажите рабочий SQL в вопросе, если он выдает набор результатов.@ My9to5 Проверьте документацию для
rollup
, чтобы увидеть.@Dale K Rollup определенно выглядит именно так! Теперь нужно выяснить, как СУММИТЬ/СЧИТАТЬ nvarchar
Можете ли вы добавить сюда ожидаемый результат?