码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-06-03 13:38:46      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:temp   image   img   alt   hat   int   名称   server   sql   

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;

  ②、结果

    技术图片

 

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

标签:temp   image   img   alt   hat   int   名称   server   sql   

原文地址:https://www.cnblogs.com/study10000/p/13036872.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!