我在參考How to convert columns to rows and rows to columns處的研究材料提出這個問題。我在UNPIVOTING部分中解釋了類似的查詢。這是我的設置。 表定義DB2 unpivot將列傳遞到行
CREATE TABLE MYTABLE (
ID INTEGER,
CODE_1 VARCHAR,
CODE_2 VARCHAR,
CODE_3 VARCHAR,
CODE_1_DT DATE,
CODE_2_DT DATE,
CODE_3_DT DATE,
WHO COLUMNS
);
表數據
ID | CODE_1 | CODE_2 | CODE_3 | CODE_1_DT | CODE_2_DT | CODE_3_DT | UPDATED_BY
1 | CD1 | CD2 | CD3 | 20100101 | 20160101 | 20170101 | USER1
2 | CD1 | CD2 | CD3 | 20100101 | 20160101 | 20170101 | USER2
3 | CD1 | CD2 | CD3 | 20100101 | 20160101 | 20170101 | USER3
我的SQL轉換列排
SELECT Q.CODE, Q.CODE_DT FROM MYTABLE AS MT,
TABLE VALUES(
(MT.CODE_1, MT.CODE_1_DT),
(MT.CODE_2, MT.CODE_2_DT),
(MT.CODE_3, MT.CODE_3_DT),
) AS Q(CODE, CODE_DT)
WHERE MT.ID=1;
預計產量
CODE | CODE_DT
CD1 | 20100101
CD2 | 20160101
CD3 | 20170101
我沒能得到預期的結果並獲得與基數或基數乘數有關的錯誤。我不知道發生了什麼問題或sq。是正確的...任何指針?
您正在使用什麼版本的DB2?什麼是實際的錯誤信息? –
** DB2版本爲11 010 ** SQL錯誤[42601]:DB2 SQL錯誤:SQLCODE:-104,SQLSTATE:42601,SQLERRMC:,; CARDINALITY OVER) com.ibm.db2.jcc.c.SqlException: DB2 SQL錯誤:SQLCODE:-104,SQLSTATE:42601,SQLERRMC:,; CARDINALITY OVER) – Vinay