關於sql的第乙個問題:轉置
之前專案中有乙個需求,將資料庫裡面的某些列顯示在表頭給使用者看,如下**資料:
專家分數
張三80
小趙96
王五88
李四90
需要轉化成如下的格式:即某列資料作為字段顯示
張三小趙
8096
解決方案:
select p.progrectname,p.supplier,p.supplynum
from
( select progrectname, overseasupply, nativesupply,
southsupply, northsupply
from progrectdetail
)tunpivot
( supplynum for supplier in
(overseasupply, nativesupply, southsupply, northsupply )
) p
關於sql的第二個問題:查詢
當查詢一張表的時候,如果表裡面有20個字段,但是select的19個字段,sql語句如下:
declare @col varchar(1000)
set @col=''
select @col=@col+','+name from syscolumns where id=object_id('表名') and name<>'排除的欄位名' order by colid
set @col=stuff(@col,1,1,'')
exec('select '+@col+' from 表名')
SQL 行列轉置
我學會了第二種方法 sql2005中的方法 create table tb id int,value varchar 10 insert into tb values 1,aa insert into tb values 1,bb insert into tb values 2,aaa insert...
SQL行列轉置
函式alter function zh returns table asreturn select 科目,max 張三 as 張三,max 李四 as 李四 from select 語文 as科目,張三,李四 from stu2 pivot max 語文 for 姓名 in 科目,張三,李四 as ...
稀疏矩陣的轉置(矩陣轉置和快速轉置)
實現矩陣的轉置 1.將矩陣的行列值相互轉換。2.將每個三元組中的i和j交換。3.重排三元組之間的次序便可實現矩陣的轉置。void transposesmatrix tsmatrix m,tsmatrix t return transposesmatrix快速轉置的原理是 如果能預先確定矩陣m中每一列...