簡體   English   中英

SQL - 關於在多列上將列轉置為行的問題

[英]SQL - question on transposing columns to row pivoting on multiple columns

這是我的桌子

表A

ID1, COL1, COL2, CODE A1, CODE A2, CODE A3,CODE B1, CODE B2, CODE B3, ..... CODE Z1, CODE Z2, CODE Z3  

這是我想要的 output:

ID1, COL1, COL2, CODE A1, CODE A2, CODE A3
ID1, COL1, COL2, CODE B1, CODE B2, CODE B3
    .
    .
    .
ID1, COL1, COL2, CODE Z1, CODE Z2, CODE Z3

基本上,我希望每次出現組合 CODE A1、CODE A2、CODE A3 output 作為新行以及唯一標識記錄的前 3 列。

假設三個代碼的組合出現了 26 次,即 78 列。

我想看到這條記錄分成 26 條記錄。

您的任何建議都會非常有幫助。

許多數據庫支持標准 SQL 橫向連接,這是最好的方法。 但更通用的方法是簡單地union all

select id1, col1, col2, code_a1 as code from t union all
select id1, col1, col2, code_a2 as code from t union all
. . .

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM