1
我試圖使用解決方案1中here的以下SQL腳本將陣列轉置爲單獨的行。將陣列轉換爲Netezza中的行
當我運行它時,它只會檢索數組的第一個元素。我想要顯示數組的所有元素。昨天,我記得修改了這個腳本的一部分,它似乎運行正常。但是我沒有保存腳本!
SELECT F.ROWID
, C.CNT
, SQLEXT..get_value_varchar(ARR,CAST(DECODE(SIGN(LEN-c.CNT),1,c.CNT,null) AS INT)) AS ELEMENT_NM
FROM (SELECT ROWID
, SQLEXT..ARRAY_SPLIT(FINELINE_NM,';') AS ARR
, SQLEXT..ARRAY_COUNT(SQLEXT..ARRAY_SPLIT(FINELINE_NM,';')) AS LEN
FROM DATABASE.DEV_LDG_REPORT
) AS F
CROSS JOIN (SELECT ROW_NUMBER() OVER (ORDER BY 1) AS CNT
FROM (SELECT *
FROM DATABASE.DEV_LDG_REPORT
LIMIT 100) AS V
) AS C
WHERE DECODE(SIGN(LEN-C.CNT),1, C.CNT, NULL) IS NOT NULL
;
從本質上講,我想這樣的:
ID FINELINE_NM
1 123;124;125
2 123;124;125;126
看起來像這樣:
ID FINELINE_NM
1 123
1 124
1 125
2 123
2 124
2 125
2 126
是否有在上面的腳本中,你可以看到它允許所有的任何修改要在結果中返回的元素?
歡迎來到StackOverflow!作爲提醒,請避免僅僅鏈接到包含實質性相關細節的外部來源,因爲它們可能會改變或在以後被刪除。可以包含鏈接,但可以考慮將與問題相關的任何內容包含在問題本身中。 – STLDeveloper