Db2 在结果集列中包含用户定义的表函数中返回的5列
我有一个UDTF,它总是返回1行6列 UDTF有一个参数 我希望查询结果集中包含5列。我要查询的表有一列,我想用它作为每一行的参数 我还没有弄明白正确的语法 有什么建议吗 UDTFDb2 在结果集列中包含用户定义的表函数中返回的5列,db2,user-defined-functions,db2-400,sql-subselect,Db2,User Defined Functions,Db2 400,Sql Subselect,我有一个UDTF,它总是返回1行6列 UDTF有一个参数 我希望查询结果集中包含5列。我要查询的表有一列,我想用它作为每一行的参数 我还没有弄明白正确的语法 有什么建议吗 UDTF create function xxxx.UF_yyyyyy(USERID CHAR(10)) returns table ( p2User char(10), STATUS CHAR(3), USED DEC(7
create function xxxx.UF_yyyyyy(USERID CHAR(10))
returns table (
p2User char(10),
STATUS CHAR(3),
USED DEC(7, 0),
CREATED DEC(7, 0),
SIGNON DEC(7, 0),
EXCLUDE DEC(7, 0))
language RPGLE
NOT DETERMINISTIC
NO SQL
DISALLOW PARALLEL
NOT FENCED
EXTERNAL NAME 'xxxx/UF_yyyyyy'
PARAMETER STYLE DB2SQL
范例
select * from table(xxxx/UF_yyyyyy(CHAR('CMFIRST '))) a
结果
P2USER STATUS USED CREATED SIGNON EXCLUDE
---------- ------ ------- ------- ------- -------
CMFIRST ACT 1170926 1150826 1170926 0
下面是一个我尝试过的选择的例子
SELECT T1.AQABVN, T1.AQA8TX,
(SELECT COUNT(*) FROM fffff T4 WHERE T4.BDABVN = T1.AQABVN) AS SACCMS,
t2.p2User, t2.used
FROM
zzzzz T1
full join table(xxxx.UF_yyyyyy(T1.AQABVN)) t2 on T1.AQABVN = t2.p2User
结果
[SQL0205] Column P2USER not in table T2 in *N.
开始工作了
SELECT T1.AQABVN, T1.AQA8TX,
(SELECT COUNT(*) FROM fffff T4 WHERE T4.BDABVN = T1.AQABVN) AS SACCMS,
t2.status, t2.used, t2.created, t2.signon, t2.exclude
FROM
zzzzz T1
join
table(SMLFQA.UF_XAJKUPR(T1.AQABVN)) t2 on T1.AQABVN = t2.p2User
不太清楚您的意思,也许您可以提供一些示例数据和示例结果?显示您的代码。这有帮助吗?我的最终目标是创建一个视图,其中使用UDTF获取的信息包含在视图列中。UDTF获取的数据不存在于表中。很高兴听到您找到了答案。请记住,UDTF将取代表/视图名称。因此,请连接表mlfqa.UF_xajkupt1.AQABVN,而不是连接表mytable