У меня есть таблица со следующей структурой:
CREATE TABLE [dbo].[TESTING](
[ID] [nvarchar](2) NULL,
[TYPE] [nvarchar] (1) NULL,
[TIME] [int] NULL
и со следующими данными:
INSERT INTO [dbo].[TESTING]
([ID]
,[TYPE]
,[TIME])
VALUES
('A1','1',3),
('A1','1',6),
('A2','2',8),
('A2','2',9),
('B1','1',2),
('B1','1',6),
('B2','2',4),
('B2','2',8),
('B2','2',11),
('B2','2',12)
Что я хочу сделать, так это. Я хочу создать столбец, который получает значение "<= 5", если <strong>TIME меньше или равно 5 или "> 5", если TIME больше 5.
тогда я поставил следующее утверждение:
select ID, TYPE,
(case when TIME <= 5 then '<= 5'
when TIME > 5 then '> 5'
else 'OTHER' end) AS CONDITION,
SUM(TIME) TOTAL
from [dbo].[TESTANDO]
GROUP BY ID, TYPE,
(case when TIME <= 5 then '<= 5'
when TIME > 5 then '> 5'
else 'OTHER' end)
Результат:
Хотелось бы, чтобы в дополнение к появившимся данным, если есть значения, в которых "<= 5 или> 5" не имеют значений, строка, с которой я иду, TOTAL 0 В этом примере у меня нет строк из группы A2, которые удовлетворяют условию "<= 5", которое должно появиться в результате со столбцом <strong>TOTAL = 0
вот так: