select [show_id]
,[year]
,[n1]
,[n2]
,[n3]
,[n4]
,[n5]
from [datapass_db].[dbo].[test]
1:sql2005中的列轉行.
select [show_id], mon, subtotal
from [datapass_db].[dbo].[test] unpivot
(subtotal for mon in
([n1], [n2], [n3],[n4],[n5])
)as unpvt;
2:sql 2000 中的列轉行
declare @tmpsql varchar(8000)
declare @sql varchar(8000)
select @tmpsql = ''
select @tmpsql = @tmpsql + ' union all select '
+' show_id,'
+' year ,'
+name +' as mon'
+' from dbo.test'
from syscolumns
where object_id('dbo.test')=id and left(name,1) = 'n'
select @tmpsql=stuff(@tmpsql,1,11,'')
select @sql = 'select * from ('+@tmpsql+') t where t.mon>0'
print @sql
exec (@sql)
付送:1:查詢,已知列的表名.
select syscolumns.name,sysobjects.name from syscolumns , sysobjects
where syscolumns.id = sysobjects.id and syscolumns.name='要查的列名'
2:找出在兩個資料庫中表名稱在彼此資料庫中不存在的表名稱,欄位.
select accdb.table_name as accdb_table_name,
accdb.columns_name as accdb_columns_name,
accdb1.table_name as accdb1_table_name,
accdb1.columns_name as accdb1_columns_name
from (select accdb.dbo.sysobjects.name as table_name,
accdb.dbo.syscolumns.name as columns_name
from accdb.dbo.syscolumns inner join
accdb.dbo.sysobjects on
accdb.dbo.syscolumns.id = accdb.dbo.sysobjects.id
where (not (accdb.dbo.syscolumns.name like '@%')) and
(accdb.dbo.sysobjects.xtype = 'u')) accdb left outer join
(select sysobjects.name as table_name,
syscolumns.name as columns_name
from syscolumns inner join
sysobjects on syscolumns.id = sysobjects.id
where (not (syscolumns.name like '@%')) and (sysobjects.xtype = 'u'))
accdb1 on accdb.columns_name = accdb1.columns_name and
accdb.table_name = accdb1.table_name
where (accdb1.table_name is null) or
(accdb1.columns_name is null) order by accdb.table_name,accdb.columns_name
其中accdb1為舊庫,accdb為新庫。
不只能查出表不同, 還包括欄位的
Sql2000和Sql2005共存安裝詳細過程
在安裝了sql2000的基礎上安裝sql2005的詳細過程 sql2005版本 sql2005開發版,兩張cd的那種 作業系統 window 2003 server 假設您的電腦已安裝了sql2000,下面開始安裝sql2005。一 執行光碟1 跳過 準備 步驟,直接進行 伺服器元件 工具 聯機叢書...
SQL2005的資料轉成SQL2000
直接restore或附加應該是不行的,用指令碼 導資料肯定沒有問題。2005轉到2000的步驟 1.生成for 2000版本的資料庫指令碼 2005 的manger studio 開啟 物件資源管理器 沒有的話按f8 連線到你的例項 右鍵要轉到2000的庫 任務 生成指令碼 在 指令碼嚮導 的 選擇...
SQL2005和SQL2000共存時的連線
因為有乙個舊的專案要維護,特意安裝了sql2000,開始還擔心無法安裝呢,原來是可以在同一臺機器安裝兩個sql資料庫的,但是在安裝sql2000的時候一定要我填寫例項名,奇怪!以前從來沒注意過的東東!填乙個吧。裝好sql開始裝sp4,還真是麻煩啊。都搞定了,連線吧 發現不對的地方了,我現在2005和...