Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 проблемма с поиском суммы  [new]
Len4ick
Member

Откуда:
Сообщений: 168
есть представление, в котором содержатся данные о продажах вместе с некоторыми промежуточными суммами
Capital Grouping(Articolul) Articolul D E Name SUMMA1 SUMMA2 SUMMA3 SUMMA4
1 1 NULL 1 0 IN_THE_COUNTRY 20000 0 0 20000
1 0 3 0 2 Cat 10000 0 0 10000
1 0 2 0 3 Dog 10000 0 0 10000
2 1 NULL 2 0 ABROAD 10000 10000 50000 70000
2 0 1 0 1 turtle 0 10000 0 10000
2 0 3 0 2 Cat 10000 0 0 10000
2 0 2 0 3 Dog 0 0 50000 50000
3 0 3 0 Parrot 0 70000 0 70000
4 0 4 0 Hamster 0 0 71000 71000

необходимо вывести дополнительно строку, в которой сумморовались бы строки, где поле D = 1, 2, 3, и 4
т.е. примерно так
D E Name SUMMA1 SUMMA2 SUMMA3 SUMMA4
TOTAL 30000 80000 121000 231000
1 0 IN THE COUNTRY 20000 0 0 20000
0 2 Cat 10000 0 0 10000
0 3 Dog 10000 0 0 10000
2 0 ABROAD 10000 10000 50000 70000
0 1 turtle 0 10000 0 10000
0 2 Cat 10000 0 0 10000
0 3 Dog 0 0 50000 50000
3 0 Parrot 0 70000 0 70000
4 0 Hamster 0 0 71000 71000
30 июл 12, 13:56    [12934582]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
...
union all select
  null
  , null
  , 'Total'
  , sum(SUMMA1)
  , sum(SUMMA2)
  , sum(SUMMA3)
  , sum(SUMMA4)
from [есть представление] a
where
  a.d in (1, 2, 3, 4)
30 июл 12, 14:00    [12934604]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Len4ick
Member

Откуда:
Сообщений: 168
Гавриленко Сергей Алексеевич,
спасибо
30 июл 12, 14:02    [12934625]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Len4ick
Member

Откуда:
Сообщений: 168
для вывода данных из представления использую запрос с order by

select * from Name_view as D
order by D.Valuta, D.Capital, D.E


поэтому конструкцию
union all select
  null
  , null
  , 'Total'
  , sum(SUMMA1)
  , sum(SUMMA2)
  , sum(SUMMA3)
  , sum(SUMMA4)
from [есть представление] a
where
  a.d in (1, 2, 3, 4)

не получается применить, т.к. не использую D.Valuta, D.Capital, D.E
30 июл 12, 15:03    [12935082]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Alexandr Kr.
Member

Откуда: Украина, Харьков
Сообщений: 165
Len4ick
для вывода данных из представления использую запрос с order by

не получается применить, т.к. не использую D.Valuta, D.Capital, D.E


А алиасы назначить не судьба?
30 июл 12, 16:05    [12935632]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Len4ick
не получается применить, т.к. не использую D.Valuta, D.Capital, D.E

что мешает вместо null-ов поставить такие значения, которые позволят правильно отсортировать результат ?
30 июл 12, 16:09    [12935666]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Len4ick
Member

Откуда:
Сообщений: 168
Alexandr Kr.,

select * from Name_view as A
order by A.Valuta, A.Capital, D.E

union all select
  null
  , null
  , 'Total'
  , sum(SUMMA1)
  , sum(SUMMA2)
  , sum(SUMMA3)
  , sum(SUMMA4)
from Name_view as A
where
  A.d in (1, 2, 3, 4)


выдает ошибку Столбец A.Valuta, A.Capital, D.E
недопустим в списке выбора, поскольку он не содержится ни в статистической функции, ни в предложении GROUP BY.
30 июл 12, 16:15    [12935702]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Если это ваш предыдущий запрос https://www.sql.ru/forum/actualthread.aspx?bid=1&tid=956016&hl= , то что мешает получать итоговые суммы сразу в запроск с ROLLUP ?
30 июл 12, 16:19    [12935727]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Len4ick
Member

Откуда:
Сообщений: 168
Glory,
не совсем
в представлении используется запрос с rollup и с помощью union добавляется еще один запрос который выводит еще 2 строки
30 июл 12, 16:23    [12935754]     Ответить | Цитировать Сообщить модератору
 Re: проблемма с поиском суммы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Len4ick
не совсем
в представлении используется запрос с rollup и с помощью union добавляется еще один запрос который выводит еще 2 строки

И что же мешает сразу в представлении написать правильный запрос ?
30 июл 12, 16:26    [12935771]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить