Нужна веревка;)) Взгляните на пример:
У меня есть таблица:
CREATE TABLE [dbo].[test3](
[software] [varchar](50) NOT NULL,
[result] [bit] NOT NULL,
[computername] [varchar](50) NOT NULL
)
С данными:
INSERT INTO test3 VALUES ('Adobe',1,'abc')
INSERT INTO test3 VALUES ('Office',1,'abc')
INSERT INTO test3 VALUES ('Adobe',0,'def')
INSERT INTO test3 VALUES ('Office',1,'def')
Итак, после обычного SELECT имеем:
software result computername
Office 1 abc
Adobe 1 abc
Office 1 123
Adobe 0 123
СЕЙЧАС, мой вопрос. Я хотел бы посчитать количество программного обеспечения по программной группе. Столбец «Результат» означает: 0 не установлено, 1 установлено.
Для подсчета всех установленных (результат = 1) я могу сделать просто:
SELECT
Software
,COUNT(*) as Quantity
FROM
test3
WHERE
result = 1
GROUP BY
software
НО, если я хочу "отменить" результат и посчитать, сколько компьютеров из таблицы не установлено программное обеспечение (результат = 0), я не увижу результаты, которые мне нужны (для отчета).
После этого:
SELECT
Software
,COUNT(*) as Quantity
FROM
test3
WHERE
result = 0
GROUP BY
software
Я получу:
Software Quantity
-------------------------------------------------- -----------
Adobe 1
Что означает: «пропущен только 1 Adobe, а остальное программное обеспечение установлено везде».
Но мне нужно, чтобы отчет выглядел примерно так:
Software Quantity
-------------------------------------------------- -----------
Adobe 1
Office 0
Что означает;) "Пропущена только 1 установка Adobe, а установка 0 Office пропущена."
Я застрял с этим: / Plz help:)