当前位置: 代码迷 >> DB2 >> db2 SELECT INTO 话语或 VALUES INTO 语句的结果多于一行
  详细解决方案

db2 SELECT INTO 话语或 VALUES INTO 语句的结果多于一行

热度:2210   发布时间:2013-02-26 00:00:00.0
db2 SELECT INTO 语句或 VALUES INTO 语句的结果多于一行
表 PART_INV_DETAIL 发票明细 字段  PID_TICKET_ID 单号 PID_TKTID 对应的出库单号。。。。。


一张发票单明细中可能有几张出库单号

  发票号                      出库单号
XF660012040071         XC660012030368
XF660012040071         XC660012030373
XF660012040071         XC660012030387


现在按照发票号分组 希望显示下面这种格式

  发票号                      出库单号
XF660012040071             XC660012030368,XC660012030373,XC660012030387



想和sql server 一样,在db2 中创建一个用户函数,在分组的时候调用,

CREATE FUNCTION F_OUTSALE_GETTKTID(TICKET_ID VARCHAR(20))
RETURNS VARCHAR(1000)
BEGIN ATOMIC
DECLARE TKTID VARCHAR(1000);

SET TKTID = coalesce(TKTID||',','')||(SELECT PID_TKTID 
FROM (SELECT DISTINCT PID_TKTID FROM PART_INV_DETAIL WHERE PID_TICKET_ID=TICKET_ID) T);

RETURN TKTID;
END;

调用的时候提示 SELECT INTO 语句或 VALUES INTO 语句的结果多于一行

能不能把这个函数项sql server那样 select @变量=isnull( @变量+',',column) from tb 这样,

或者用其他方法实现上面的需求;谢谢!



------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------
引用:
在网上查到了,来个人接分吧。。。。。
怎么弄,说来听听啊,楼主。
  相关解决方案