2017-09-26 79 views
0

我有一個UDTF,將始終返回1行6列 的UDTF有一個參數包括在結果集中的列5返回的列在用戶定義的表函數

我想包括在結果中的5列一組查詢。我查詢的表有一列,我想用它作爲每行的參數

我還沒有弄清楚正確的語法。

有什麼建議嗎?

的UDTF

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. 
+0

不是真的知道你的意思,也許你可以提供樣品結果一些示例數據? – jmarkmurphy

+0

顯示您的代碼。 – Charles

+0

這有幫助嗎? –

回答

1

得到它的工作

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 
+0

很高興聽到您找到答案。請記住,UDTF會出現在表格/視圖名稱的位置。所以'JOIN表(SMLFQA.UF_XAJKUPR(T1.AQABVN))'而不是'JOIN mytable' – Charles

相關問題