今天又幫別人寫了一段動態交叉表,幾年沒搞了,生疏了點,馬上再記錄一下
declare @s varchar(max)
set @s = ''
select @s = @s + ',[' + typename + ']'
from view_analogy_dynamicquery
group by typename
set @s = stuff(@s, 1, 1, '')
declare @max varchar(max)
set @max = ''
select @max = @max + ',max([' + typename + ']) as [' + typename + ']'
from view_analogy_dynamicquery
group by typename
set @max = stuff(@max, 1, 1, '')
exec('
select restype,reservoirversionid,'+@max+' from (
select restype,reservoirversionid,'+@s+' from view_analogy_dynamicquery
pivot
( max(value)
for typename in ('+@s+')
) as pt ) x group by restype,reservoirversionid
')
pivot 這個關鍵字前面貌似只能寫from 某個表,如果from a join b on a.id = b.id 這樣總是報錯,無法深究到原因了,用乙個檢視把它封起來了
Sql Server 2008 收縮日誌
收縮日誌 alter database dnname set recovery with no wait goalter database dnname set recovery 簡單模式 gouse dnname godbcc shrinkfile n dnname log 11,truncate...
徹底解除安裝sql server2008
微軟的開發工具在按裝和解除安裝時都讓人頭疼,只能是裝在c盤,裝在其他盤時最容易出事 在重新按裝的時候一定要把以前的例項解除安裝完才行。要不就會出錯。在解除安裝sql server後,其實還沒有完成,還要把登錄檔資訊完全刪乾淨,下面就將教您徹底刪除sql server登錄檔的方法,供您參考。在解除安裝...
SQLServer2008語句查詢
1 判斷資料庫是否存在 if exists select from sys.databases where name 資料庫名 drop database 資料庫名 2 判斷表是否存在 if exists select from sysobjects where id object id 表名 an...