1
我想弄清楚如何轉置我的結果數據。這是DB2 z/OS和我們正在運行版本11動態轉置表
我永遠都指定表(截至目前約30列,但只有三個位置):
Table A
Column_name Column_id Data_type NULL
Product_id 1 N N
Product_name 2 A N
Product_status 3 A Y
,然後表B可以變化的大小。
Table B
Product_id Product_name Product_status
101 'First' NULL
102 'Second' 'Inactive'
103 'Third' 'Active'
我想是這樣的:
Result table
Product_number Column_number Num_value Alpha_value Is_NULL
101 1 101
101 2 'First'
101 3 'Y'
102 1 102
102 2 'Second'
102 3 'Inactive'
103 1 103
103 2 'Third'
103 3 'Active'
我的想法是,如果我可以通過索引來訪問表B的列我應該可以遍歷表並創建結果表。我也認爲應該可以用遞歸SQL,但仍然需要能夠通過索引來引用列。
任何想法?
編輯: 表A應該定義列是否爲數字,字母數字以及是否可以爲NULL。就我而言,它實際上是很容易的部分,所以基本上獲得以下形式的信息是我想要的。
Product_number Column_number Value
101 1 '101'
101 2 'First'
101 3 'NULL' -- Could of course just exclude this line to show that Product_status is NULL for Product_id 101
102 1 '102'
102 2 'Second'
102 3 'Inactive'
103 1 '103'
103 2 'Third'
103 3 'Active'
可以使用UNION ALL來完成每個類型的選擇。 – jarlh
@jarlh你不會介意給出一個粗略的例子嗎?! – bek
看着結果表,你真的不清楚你想如何結合兩個表中的數據。我會認爲一個簡單的完整外連接就是你需要做的事情,但是然後在'Is_null'中看到'Y'將被預期的空值以及'Product_name'和'Product_status'中值的混合在'Alpha_value'中。你能更準確地描述你想如何組合兩個表中的數據嗎? –