簡體   English   中英

將行轉置為列。 SQL 服務器中的 2 個 Varchar 列

[英]Transpose Rows to Column . 2 Varchar columns in SQL Server

在此處輸入圖像描述

將行轉置為列。 我在 SQL 服務器中有 2 個Varchar列。

我不能使用 pivot 因為我不能在varchar列上運行聚合。 我有 2 列Name, Occupation 只需要轉置那些。

您可以使用條件聚合。 目前尚不清楚您想要什么,但也許:

select name,
       sum(case when occupation = 'Dog Groomer' then 1 else 0 end) as num_dog_groomers,
       sum(case when occupation = 'Airline Mechanic' then 1 else 0 end) as num_airline_mechanics
       . . .
from t
group by name;

您可以進行條件聚合:

select max(case when occupation = 'Doctor' then name end) as Doctor,
       max(case when occupation = 'Actor' then name end) as Actor
from (select t.*,  row_number() over (partition by occupation order by name) as grp
      from table t
     )
group by grp;

暫無
暫無

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

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