Альтернатива агрегатной функции LIST в Firebird
У меня есть таблица заказов:
select * Orders order by 2
Ordernumber Zone
12345 1
12345 2
12345 3
Какой sql выдаст следующий вывод?
Ordernumber Zone
12345 123
К сожалению, LIST не может быть использован, так как это старый Firebird 1.5xxx. Есть ли другие возможности?
1 ответ
CREATE PROCEDURE GET_ZONER(ordernumber Integer)
returns (zoner varchar(20))
AS
declare variable zone varchar(20) ;
Begin
zoner = '';
for
select distinct zone from orders
where ordernumber = :ordernumber order by zone into :zone do
begin
zoner = zoner || :zone;
end
SUSPEND;
End
а затем использовать
select * from getzoner(1234)