SQL數據庫將橫向數據轉換為縱向字段
作者:skyxin1314
SQL數據庫中如果想要將原有表中的橫向數據轉換為縱向的字段,我們可以通過三步來完成:首先我們把數據插入到虛擬表,然后實現動態轉向,最后再將虛擬表刪除,大功告成。本文介紹了這一實現過程,供讀者學習參考。
SQL數據庫中如何將橫向數據轉換為縱向字段呢?其實方法很簡單,我們通過虛擬表和動態轉向就可以實現。本文就介紹了這一轉換的過程,我們假設有兩個表:表1和表2,如下圖所示:
表1:
表2:
Sql語句如下:
//Join一下,把數據插入虛擬表#T
- SELECT i.SN,i.ItemName,t.Sort,t.t
- INTO #T
- FROM ItemInfo i INNER JOIN
- ItemType t ON i.SN=t.FKSN
- DECLARE @sql nvarchar(1000)
//動態轉向
- SET @Sql = 'SELECT ItemName '
- SELECT @Sql = @Sql + ',ISNULL(SUM(CASE Sort WHEN '''+Sort+''' THEN t END),0) ['+Sort+']'
- FROM (SELECT DISTINCT Sort FROM #T) AS A
- SELECT @Sql = @Sql+' FROM [#T] GROUP BY itemName '
//刪除虛擬表
- SET @Sql=@Sql+' DROP TABLE #T '
- EXEC(@sql)
執行結果:
以上就是橫向數據轉換為縱向字段的過程,如果您有更好的方法,歡迎您與我們分享,非常感謝您的支持!
【編輯推薦】
責任編輯:趙鵬
來源:
博客園