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

Откуда: Оттуда )
Сообщений: 1207
И снова доброго дня!
имеем табличку:
f1f2f3f4f5
10151nullnull
1015null2null
1015nullnull3
20254nullnull
2025null5null
2025nullnull6


как сделать чтобы получить вот такой результат группировки первых двух полей:
f1f2f3f4f5
1015123
2025456

?
19 мар 09, 10:26    [6947244]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
Пока что сделал так:
допустим что главная таблица завется #tab1
делаю разделение:
select f1, f3 
into #t1
from #tab1
where not f3 is null

select f1, f4 
into #t2
from #tab1
where not f4 is null

select f1, f5 
into #t3
from #tab1
where not f5 is null

затем делаем такое:
select distinct #tab1.f1, #tab1.f2, #t1.f3, #t2.f4, #t3.f5
from #tab1
inner join #t1
on #tab1.f1 = #t1.f1
inner join #t2
on #tab1.f1 = #t2.f1
inner join #t3
on #tab1.f1 = #t3.f1

но мне кажется что это слишком длинный путь..
19 мар 09, 10:45    [6947387]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Dim2000
Member

Откуда: Москва
Сообщений: 5318

Imperous пишет:

> как сделать чтобы получить вот такой результат группировки первых двух
> полей:

Это викторина? А где призы ?

Posted via ActualForum NNTP Server 1.4

19 мар 09, 11:14    [6947676]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
Dim2000

Imperous пишет:

> как сделать чтобы получить вот такой результат группировки первых двух
> полей:

Это викторина? А где призы ?

Вы правы.
Забыл добавить фразу "Пожалуйста помогите решить задачку"
19 мар 09, 11:18    [6947722]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Igor Domnith
Member

Откуда:
Сообщений: 34
Imperous,
пробуй
SELECT DISTINCT a.f1,a.f2,b3.f3,b4.f4,b5.f5
FROM tst a
INNER JOIN (SELECT f1,f2,max(f3) f3
FROM tst
GROUP BY f1,f2) b3
ON (a.f1 = b3.f1 AND a.f2 = b3.f2)
INNER JOIN (SELECT f1,f2,max(f4) f4
FROM tst
GROUP BY f1,f2) b4
ON (a.f1 = b4.f1 AND a.f2 = b4.f2)
INNER JOIN (SELECT f1,f2,max(f5) f5
FROM tst
GROUP BY f1,f2) b5
ON (a.f1 = b5.f1 AND a.f2 = b5.f2)
19 мар 09, 12:18    [6948256]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
gy gy gy
Guest
select f1, f2, max(f3), ... max(fn)
from xxx
group by f1, f2
19 мар 09, 12:31    [6948334]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
Igor Domnith,
попробую, но мне кажется что в данном случае использовать MAX не совсем правильно.
Да, max больше null, но...
19 мар 09, 12:31    [6948339]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
gy gy gy
select f1, f2, max(f3), ... max(fn)
from xxx
group by f1, f2

попробовал ваш вариант, он проще, и он работает...
спасибо всем!
19 мар 09, 12:38    [6948387]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Igor Domnith
Member

Откуда:
Сообщений: 34
Imperous,
Нельзи в таком случае уточнить постановку
- в каждой группе данных для f3,f4,f5 будет только одно значение отличное от null ?
а если несколько то что выбирать - все или как.
Обобщите постановку.
19 мар 09, 13:07    [6948616]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
Imperous
Member

Откуда: Оттуда )
Сообщений: 1207
Igor Domnith
Imperous,
Нельзи в таком случае уточнить постановку
- в каждой группе данных для f3,f4,f5 будет только одно значение отличное от null ?
а если несколько то что выбирать - все или как.
Обобщите постановку.

там только одно значение, остальное null
19 мар 09, 13:30    [6948798]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с запросом_2 (группировка)  [new]
gy gy gy
Guest
2 Imperous,

voobsce voprosy po SQL ne nado postiti v PB vetku.
19 мар 09, 15:45    [6950098]     Ответить | Цитировать Сообщить модератору
Все форумы / PowerBuilder Ответить