SQL Server 交叉表查詢 case
更新時間:2011年12月26日 23:58:06 作者:
今天下午忙于將access數(shù)據(jù)庫中的交叉表轉(zhuǎn)到SQL server數(shù)據(jù)庫中,在SQL server中,不支持transfrom方法,查找相關(guān)資料,找到使用case方法進行轉(zhuǎn)換
代碼如下所示:
表landundertake結(jié)構(gòu)如下所示:
表appraiser結(jié)構(gòu)如下所示:
access代碼:
復(fù)制代碼 代碼如下:
TRANSFORM First(Landundertake.valuerId) AS valuerId之First
SELECT Appraiser.quarterId, Landundertake.landCode
FROM Landundertake INNER JOIN Appraiser ON (Landundertake .valuerId = Appraiser.valuerID) AND (Landundertake .quarterId = Appraiser.quarterId)
GROUP BY Appraiser.quarterId, Landundertake .landCode
PIVOT Landundertake .valuerGrade;
SQL server代碼:
復(fù)制代碼 代碼如下:
select dbo.appraiser.quarterID,dbo.landUndertake.landcode,case dbo.landUndertake.appraiserGrade when 'appraiserID1' then dbo.landundertake.appraiserID else null END as appraiserID,case dbo.landUndertake.appraiserGrade when 'appraiserID2' then dbo.landundertake.appraiserID else null END as appraiserID1
from dbo.LandUndertake inner join
dbo.Appraiser ON dbo.LandUndertake.quarterID=dbo.appraiser.quarterID and dbo.landundertake.appraiserID=DBO.Appraiser.appraiserID
Group by dbo.appraiser.quarterID,dbo.landUndertake.landcode,dbo.landundertake.appraiserGrade,dbo.landundertake.appraiserID
交叉表查詢結(jié)果如下所示:
相關(guān)文章
對有insert觸發(fā)器表取IDENTITY值時發(fā)現(xiàn)的問題
趕快查了下msdn,原來@@IDENTITY還有這么多講究2009-06-06SQL CONVERT轉(zhuǎn)化函數(shù)使用方法小結(jié)
此樣式一般在時間類型(datetime,smalldatetime)與字符串類型(nchar,nvarchar,char,varchar) 相互轉(zhuǎn)換的時候才用到.2010-05-05SQL數(shù)據(jù)庫優(yōu)化大總結(jié)之百萬級數(shù)據(jù)庫優(yōu)化方案
網(wǎng)上關(guān)于SQL優(yōu)化的教程很多,但是比較雜亂。近日有空整理了一下,寫出來跟大家分享一下,其中有錯誤和不足的地方,還請大家糾正補充2015-12-12SQL Server 高性能寫入的一些經(jīng)驗總結(jié)
本篇博文將針對一些常用的數(shù)據(jù)庫性能調(diào)休方法進行介紹,而且,為了編寫高效的SQL代碼,我們需要掌握一些基本代碼優(yōu)化的技巧,所以,我們將從一些基本優(yōu)化技巧進行介紹2012-08-08