0

我有一个表订单:

select * Orders order by 2

Ordernumber     Zone
12345           1
12345           2
12345           3

什么 sql 会产生以下输出?

Ordernumber     Zone
12345           123

不幸的是,不能使用 LIST,因为这是旧的 Firebird 1.5xxx。还有其他可能吗?

4

1 回答 1

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)
于 2017-04-11T09:08:07.037 回答