Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проссумировать горизонтально с where / 4 сообщений из 4, страница 1 из 1
30.01.2018, 05:04
    #39593048
anton6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проссумировать горизонтально с where
Доброе утро!
Подскажите, пожалуйста, как просуммировать горизонтально


Код: sql
1.
2.
3.
select m1 + m2+ m3 as result from dbo.Numbers 

where (вот тут не знаю как написать) sum (этих чисел в горизонтальной сумме)  > 43
...
Рейтинг: 0 / 0
30.01.2018, 05:13
    #39593050
Проссумировать горизонтально с where
не совсем понятно, что тебе надо. привел бы пример тестовых данных на пару-тройку строчек и результат на них...
но если хрустальный шар не обманывает, то тебе нужно что-то такое:
anton6Доброе утро!
Подскажите, пожалуйста, как просуммировать горизонтально


Код: sql
1.
2.
select m1 + m2+ m3 as result from dbo.Numbers 
where (m1 + m2+ m3 )  > 43
...
Рейтинг: 0 / 0
30.01.2018, 05:40
    #39593055
anton6
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проссумировать горизонтально с where
Спасибо)
...
Рейтинг: 0 / 0
30.01.2018, 10:33
    #39593142
Руслан Дамирович
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Проссумировать горизонтально с where
или для универсальности* использовать магию VALUES / UNPIVOT
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
WITH
n AS (
  SELECT
    [m1] = 1,
    [m2] = 2,
    [m3] = 3,
    [mn] = 1024
)
SELECT 
  SUM( ss.[m] ) 
FROM 
  n
  CROSS APPLY (
    VALUES ( [m1] ), ( [m2] ), ( [m3] ), ( [mn] )
  ) ss ( [m] )
HAVING
  SUM( ss.[m] ) >= 42
;
WITH
n AS (
  SELECT
    [m1] = 1,
    [m2] = 2,
    [m3] = 3,
    [mn] = 1024
)
SELECT 
  SUM( [m] )
FROM 
  n
  UNPIVOT (
    [m] FOR X
    IN ( [m1], [m2], [m3], [mn] )
  ) ss
HAVING
  SUM( [m] ) >= 42
;


* универсальный от слова булшыт ибо работать будет медленно
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Проссумировать горизонтально с where / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]