新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQL數(shù)據(jù)庫將橫向數(shù)據(jù)轉換為縱向字段
SQL數(shù)據(jù)庫中如何將橫向數(shù)據(jù)轉換為縱向字段呢?其實方法很簡單,我們通過虛擬表和動態(tài)轉向就可以實現(xiàn)。本文就介紹了這一轉換的過程,我們假設有兩個表:表1和表2,如下圖所示:

創(chuàng)新互聯(lián)專注于羅源網(wǎng)站建設服務及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供羅源營銷型網(wǎng)站建設,羅源網(wǎng)站制作、羅源網(wǎng)頁設計、羅源網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務,打造羅源網(wǎng)絡公司原創(chuàng)品牌,更為您提供羅源網(wǎng)站排名全網(wǎng)營銷落地服務。
表1:
表2:
Sql語句如下:
//Join一下,把數(shù)據(jù)插入虛擬表#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)
//動態(tài)轉向
- 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)
執(zhí)行結果:
以上就是橫向數(shù)據(jù)轉換為縱向字段的過程,如果您有更好的方法,歡迎您與我們分享,非常感謝您的支持!
分享名稱:SQL數(shù)據(jù)庫將橫向數(shù)據(jù)轉換為縱向字段
本文路徑:http://m.5511xx.com/article/cccjiio.html


咨詢
建站咨詢
