Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> группировка 
:(
    Опции темы
gys
Дата 17.9.2009, 06:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 17.9.2009

Репутация: нет
Всего: нет



Здравствуйте!
Есть запрос, котрый выводит данные так:

Цитата

Балтика 0 ж/б    0.500      1452
Балтика 0 с/б    0.500      7433
Балтика 3 ж/б    0.500      5261
Балтика 3 с/б    0.500      13703
Балтика 3, 1л    1.0        1536
Балтика 4 с/б    0.500      311
Балтика 5 ж/б    0.500      5087
Балтика 5 с/б    0.500      20600


а нужно вывести данные так:

Цитата

Балтика 0 ж/б    0.500      1452
Балтика 0 с/б    0.500      7433
всего:
Балтика 3 ж/б    0.500      5261
Балтика 3 с/б    0.500      13703
Балтика 3, 1л    1.0        1536
всего:
Балтика 4 с/б    0.500      311
всего:
Балтика 5 ж/б    0.500      5087
Балтика 5 с/б    0.500      20600
всего:



ж/б - жестяная банка
с/б - стеклянная бутылка

т.е. вывести итог по одинаковому наименованию, но в разных тарах.
Как можно сгруппировать?
Заранее благодарен!
PM MAIL   Вверх
Zloxa
Дата 17.9.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(gys @  17.9.2009,  06:58 Найти цитируемый пост)
вывести итог

RTFM Rollup, Grouping Sets


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
Zloxa
Дата 17.9.2009, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



пример не для M$, но на нем тоже должно работвать
Код

SQL> with
  2  tab as (
  3    select 'Балтика' tm, '0' model, 'ж/б' unit, 1452 qnt from dual
  4    union all select 'Балтика', '0','с/б', 7433 from dual
  5    union all select 'Балтика', '0','с/б', 1 from dual
  6    union all select 'Балтика', '0','ж/б', 5 from dual
  7    union all select 'Балтика', '3', 'ж/б', 5261 from dual
  8    union all select 'Балтика', '3', 'с/б', 13703 from dual
  9    )
 10  select tm,model,unit, sum(qnt) from tab
 11  group by grouping sets ((tm,model,unit),(tm,model))
 12  ;
 
TM      MODEL UNIT   SUM(QNT)
------- ----- ---- ----------
Балтика 0     ж/б        1457
Балтика 0     с/б        7434
Балтика 0                8891
Балтика 3     ж/б        5261
Балтика 3     с/б       13703
Балтика 3               18964
 
6 rows selected
 



--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
gys
Дата 17.9.2009, 10:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 17.9.2009

Репутация: нет
Всего: нет



спасибо за помощь!
PM MAIL   Вверх
gys
Дата 17.9.2009, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 17.9.2009

Репутация: нет
Всего: нет



GROUP BY GROUPING SETS
поддерживается в sql server 2000?

пишу такое
Цитата

create table #t(n varchar(255), s int)
insert into #t(n, s)
      select 'Балтика 0 jb',1452 
      union all select 'Балтика с/б,', 7433 
       union all select 'Балтика с/б,', 7433 
    union all select 'Балтика с/б,', 1111 
    union all select 'Балтика с/б,', 2222
    union all select 'Балтика с/б,', 3333 
    union all select 'Балтика с/б,', 4444 


   select n, sum(s) 
   from #t
   GROUP BY GROUPING SETS((),(n))

drop table #t


ошибка такая появляется:
Line 14: Incorrect syntax near 'SETS'.
PM MAIL   Вверх
Zloxa
Дата 17.9.2009, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(gys @  17.9.2009,  11:19 Найти цитируемый пост)
поддерживается в sql server 2000?

походу нет
но есть rollup


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
gys
Дата 17.9.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 11
Регистрация: 17.9.2009

Репутация: нет
Всего: нет



Цитата(Zloxa @ 17.9.2009,  11:35)
Цитата(gys @  17.9.2009,  11:19 Найти цитируемый пост)
поддерживается в sql server 2000?

походу нет
но есть rollup

подскажите пожалуйста как это будет выглядеть в sql 2000
PM MAIL   Вверх
Zloxa
Дата 17.9.2009, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Чо?
****


Профиль
Группа: Завсегдатай
Сообщений: 3473
Регистрация: 12.9.2008

Репутация: 10
Всего: 161



Цитата(gys @  17.9.2009,  11:52 Найти цитируемый пост)
подскажите пожалуйста как это будет выглядеть в sql 2000 

у меня его нет под рукой.
Советую Вам разобраться самостоятельно.
Там нет ничего военного.


--------------------
Достоверно известно, что 89% людей доверяют статистике взятой с потолка smile
PM   Вверх
kobra
Дата 18.9.2009, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 15.6.2005
Где: Грузия, Тбилиси

Репутация: 5
Всего: 9



если точно помнью в 2000-ом запросом только так
Код

select OwnerFullName, OperDate, Resident, sum(convert(bigint,OwnerIdentNumber))
from Acc.NewClient
group by OwnerFullName, OperDate, Resident
union 
select OwnerFullName + N' - всего:' as OwnerFullName, '' asOperDate, '' as Resident, sum(convert(bigint,OwnerIdentNumber))
from Acc.NewClient
group by OwnerFullName
order by OwnerFullName


Это сообщение отредактировал(а) kobra - 18.9.2009, 14:41
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS SQL"
Akina

Akina

Запрещается!

Публиковать ссылки и обсуждать взлом чего бы то ни было.

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы составления неспецифических запросов рассматриваются здесь
  • Используйте теги [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Zloxa, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS SQL Server | Следующая тема »


 




[ Время генерации скрипта: 0.0576 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.