簡體   English   中英

在一列到多列中選擇不同的值

[英]Select distinct values one column into multiple columns

我有以下數據:具有多個類別的列1和具有每個類別的值的列2。 我需要轉換或旋轉此信息以顯示跨多列的類別組的每個值。

col1      col2
----------------
1         a    
2         b 
2         c
2         d
3         e
3         f 
4         g
4         h

並需要這個結果:

col1      col2     col3     col4   col5   col6   
-----------------------------------------------   
1         a
2         b         c       d
3         e         f 
4         g         h

每個tb1計數(第2列)組(第1列)最多有七個值。 tb1列2中的所有值都不同,大約有50條記錄。

您想透視表,但表當前不包含要透視的字段(“ col1”,“ col2”,“ col3”等)。 您需要一個由col1分區的行號。 Jet數據庫不提供ROW_NUMBER函數,因此您必須通過將表與其自身連接來偽造它:

select t1.col1, t1.col2, count(*) as row_num
from [Sheet1$] t1
inner join [Sheet1$] t2 on t2.col1 = t1.col1 and t2.col2 <= t1.col2
group by t1.col1, t1.col2

現在您可以在row_num旋轉:

transform Min(x.col2) select x.col1
from(
    select t1.col1, t1.col2, count(*) as row_num
    from [Sheet1$] t1
    inner join [Sheet1$] t2 on t2.col1 = t1.col1 and t2.col2 <= t1.col2
    group by t1.col1, t1.col2
    )  x
group by x.col1
pivot x.row_num

暫無
暫無

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

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