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

db2 SELECT INTO 语句或 VALUES INTO 语句的结果多于一行,该怎么解决

热度:10774   发布时间: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 这样,

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




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

------解决方案--------------------------------------------------------
探讨

在网上查到了,来个人接分吧。。。。。
  相关解决方案