SQL数据库将横向数据转换为纵向字段

SQL数据库中如何将横向数据转换为纵向字段呢?其实方法很简单,我们通过虚拟表和动态转向就可以实现。本文就介绍了这一转换的过程,我们假设有两个表:表1和表2,如下图所示:

创新互联专注于罗源网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供罗源营销型网站建设,罗源网站制作、罗源网页设计、罗源网站官网定制、小程序定制开发服务,打造罗源网络公司原创品牌,更为您提供罗源网站排名全网营销落地服务。

表1:

表2:

Sql语句如下:

//Join一下,把数据插入虚拟表#T 

 
 
 
 
  1. SELECT i.SN,i.ItemName,t.Sort,t.t
  2. INTO #T   
  3. FROM  ItemInfo i INNER JOIN
  4. ItemType t ON i.SN=t.FKSN
  5. DECLARE  @sql nvarchar(1000) 

//动态转向

 
 
 
 
  1. SET @Sql = 'SELECT ItemName  '  
  2. SELECT @Sql = @Sql + ',ISNULL(SUM(CASE Sort WHEN '''+Sort+''' THEN t END),0) ['+Sort+']'
  3. FROM (SELECT DISTINCT Sort FROM #T) AS A
  4. SELECT   @Sql = @Sql+'    FROM [#T] GROUP BY itemName    '

//删除虚拟表

 
 
 
 
  1. SET @Sql=@Sql+' DROP TABLE #T '  
  2. EXEC(@sql)

执行结果:

 以上就是横向数据转换为纵向字段的过程,如果您有更好的方法,欢迎您与我们分享,非常感谢您的支持!

分享名称:SQL数据库将横向数据转换为纵向字段
网页URL:http://www.36103.cn/qtweb/news16/16266.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联