sqlserver 同一列不同数据放到一行不同列

Posted 1764564459

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 同一列不同数据放到一行不同列相关的知识,希望对你有一定的参考价值。

1、所有数据

      

 

 2、建立临时表名称、类型只显示一列

  ①、sql

 --临时表插入筛选数据
  select * into #templet  from 
  (select _hour.Id from (select id,ROW_NUMBER()OVER( partition by Name,Type order by Type desc) Rank from [WeChatApp].[dbo].[Templates])_hour where Rank=1) tab;
  --查询筛选后数据
  select * from [WeChatApp].[dbo].[Templates] where Id in(select id from #templet)

   ②、结果

  

 

 

3、分组不同列显示同一列

       ①、sql

select Name
  ,max( case when Type=1 then 1 else 0 end )Type1
  ,max( case when Type=2 then 2 else 0 end )Type2
  ,max( case when Type=3 then 3 else 0 end )Type3
  from [WeChatApp].[dbo].[Templates] where Id in (select id from #templet)
  group by Name;

  ②、结果

    

       ③、转换文字列

select Name
  ,max( case when Type=1 then \'初级\' else null end )Type1
  ,max( case when Type=2 then \'中级\' else null end )Type2
  ,max( case when Type=3 then \'高级\' else null end )Type3
  from [WeChatApp].[dbo].[Templates] where Id in (select id from #templet)
  group by Name;

         ④、查询结果

               

 

以上是关于sqlserver 同一列不同数据放到一行不同列的主要内容,如果未能解决你的问题,请参考以下文章

在结果的同一行中显示同一列和同一表的 3 个不同值

php - html:表中同一列的每一行中的不同数据

如何使用同一组中下一行的数据更新前一条记录

sqlserver 2008中的表,id列是不重复的主键,除id列,其他列出现重复数据,怎么去除重复???

sqlserver创建一个新表,求助

mysql 行变列(多行变成一行/多行合并成一行/多行合并成多列/合并行)