У меня есть SQL-запрос:Объединение строк в запросе
select el as COL_1, sum(volume) as COL_2
from table1
where el like 'False%' and Month = 'SEP' and year(RollUpDate) = '2014' group by el
union
select el as COL_1, sum(volume) as COL_2
from table1
where el = 'True' and Month = 'SEP' and year(RollUpDate) = '2014' group by el
который вернет:
true | 12
false a| 12
false b| 13
false 2| 3
То, что я пытаюсь сделать, это объединить falses, так что я могу вернуть ясный результат с одним ложным и суммой ложного объема т.е.
true | 12
false | 55
Любая помощь приветствуется, SQL Server 2 008 btw
EDIT: Ну, эти решения велики и работают как описано, но я не могу использовать их с жесткой настройкой jdbc, поэтому я не могу использовать аргументы case. Ответ Jarlh близок, но когда возвращается нулевой результат, он все еще имеет те столбцы, которые были созданы, если был простой способ для этого вернуть null, не используя аргументы case, это было бы прекрасно
Side Примечание: при вызове функций на 'RollUpDate', вы не можете использовать индексы для ускорения сравнения для этого столбца. Если вы выполнили запрос диапазона ([включительно нижняя граница, эксклюзивная верхняя граница] (http://sqlblog.com/blogs/aaron_bertrand/archive/2011/10/19/what-do-between-and-the-devil -have-in-common.aspx)), вы можете использовать индекс тривиально. –