Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / помогите с обьединением / 11 сообщений из 11, страница 1 из 1
14.01.2010, 11:56
    #36409337
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Есть 5 записей, принадлежацих 2 группам, как сделать обьединение,чтоб в результате были группы и суммы по записям.

num nal gruppa
0001 2500 sob1
0002 5400 sob2
0003 4000 sob2
0004 2000 sob1
0005 1000 sob1

Необходимо чтоб в результате получилось
gruppa nal
sob1 5500
sob2 9400

Помогите как составить такой запрос
...
Рейтинг: 0 / 0
14.01.2010, 12:04
    #36409369
buven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
а вы про group by почитали что-нибудь? в чем проблема? что не получается?

Проводить жизнь в ожидании мессии, который придёт и спасёт мир, всё-равно, что ждать палку в тетрисе.
Даже если и появится, то ты к тому времени наберёшь такую гору дерьма, что те будет уже абсолютно пох... :)
...
Рейтинг: 0 / 0
14.01.2010, 12:10
    #36409389
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Извиняюсь неправильно выразился, данные такие:
num nal
0001 2500
0002 5400
0003 4000
0004 2000
0005 1000
А группы необходимо самому описать,как мне в запросе сразу описать что num принадлежит опреленной группе и вывести результат
...
Рейтинг: 0 / 0
14.01.2010, 12:16
    #36409412
BuryCommoner
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Код: plaintext
1.
2.
3.
SELECT
SUM(CASE WHEN num <  3  THEN nal ELSE  0  END) AS sum_group_1,
SUM(CASE WHEN num >=  3  THEN nal ELSE  0  END) AS sum_group_2
FROM bl.table


---------------------------------------------------------
IS NULL OR NOT IS NULL
...
Рейтинг: 0 / 0
14.01.2010, 12:27
    #36409457
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Не пойму почему <3 и >=3.. Я схематически так данные представил...вообще у меня нумерация другая совсем и группировать больше или меньше какого то числа там не получится...
...
Рейтинг: 0 / 0
14.01.2010, 12:30
    #36409463
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Необходимо в запросе сгруппировать, что num принадлежит такой группе и вывелась сумма по всей группе
...
Рейтинг: 0 / 0
14.01.2010, 12:43
    #36409504
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Жду ответа.....
...
Рейтинг: 0 / 0
14.01.2010, 12:49
    #36409523
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
zasik,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select gruppa, sum(nal) nal
from (
select num, nal, case when num in ('0002', '0003') then 'sob2' else 'sob1' end gruppa
from table(values
  ('0001',  2500 )
, ('0002',  5400 )
, ('0003',  4000 )
, ('0004',  2000 )
, ('0005',  1000 )
) a (num, nal)
) b 
group by gruppa
...
Рейтинг: 0 / 0
14.01.2010, 12:52
    #36409537
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
zasik,

а вообще, пока у вас не покажете свой алгоритм маппинга num -> gruppa, мы ещё долго можем вам разные варианты представлять...
...
Рейтинг: 0 / 0
14.01.2010, 13:32
    #36409686
zasik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
Mark Barinstein,

select distinct num, Sum(t2.wsum) as summa
from
table t
inner join table1 t1 on
t.d=t1.d and
t.id=t1.id and
parametr1='1' and parametr2='0' and parametr3='0' and t.d='13/01/2010'
inner join table2 t2 on
t.d=t2.d and
t.id=t2.id and
Group by num

Num берется с t,потом обьединяю с t1,потом с t2,где и находиться та сумма, вот только num(которых 40) мне надо в 14 групп еще обьединить
...
Рейтинг: 0 / 0
14.01.2010, 15:42
    #36410145
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
помогите с обьединением
zasik,

ну, заведите себе таблицу t3(num, gruppa) проставьте у каждого num нужную группу, и:
select t3.gruppa, Sum(t2.wsum) as summa
from from
table t
inner join table1 t1 on t.d=t1.d and t.id=t1.id
and parametr1='1' and parametr2='0' and parametr3='0' and t.d='13/01/2010'
inner join table2 t2 on t.d=t2.d and t.id=t2.id
join t3 on t.num=t3.num
Group by t3.gruppa
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / помогите с обьединением / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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