powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select SumStr(...
5 сообщений из 5, страница 1 из 1
select SumStr(...
    #32107874
666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
666
Гость
Может есть что-то вроде агрегированной функции?

Дана таблица emp:

DepID Name
1 Вася
1 Коля
2 Миша
2 Аня
2 Вова

и чтобы запрос типа - select DepID, SumStr(Name || ' ') from emp group by DepID
выдал следующее:

1 Вася Коля
2 Миша Аня Вова
...
Рейтинг: 0 / 0
select SumStr(...
    #32108293
Gold
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только в ХП ...
...
Рейтинг: 0 / 0
select SumStr(...
    #32108295
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как ? Мне тоже это интересно.
...
Рейтинг: 0 / 0
select SumStr(...
    #32108502
Осирис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну может все-таки кто-нибудь поделится со мной этим знанием ? :)
...
Рейтинг: 0 / 0
select SumStr(...
    #32108629
av
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Можно попробовать использовать процедуру с двумя селектами: первый отбирает уникальные DepId, второй для этих DepId отбирает Name и слепливает их в одну строку:
Код: plaintext
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.
create table test(
id integer,
name char( 10 ));

insert into test values ( 1 ,'Vasja');
insert into test values ( 1 ,'Kolja');
insert into test values ( 2 ,'Mi6a');
insert into test values ( 2 ,'Anja');
insert into test values ( 2 ,'Vova');

set term !!;
create procedure testp
returns (id integer, name varchar( 32765 ))
as
 declare variable tmp char( 10 );
begin
for select distinct id 
 from test 
 into id
 do begin 
 name='';
 for select name 
  from test 
  where id=:id 
  into tmp
  do name=name||:tmp;
 suspend;
end
end
!!
set term;!!
 
select * from testp;
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / select SumStr(...
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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