SQL的轉置和查詢
阿新 • • 發佈:2018-12-14
關於SQL的第一個問題:轉置 之前專案中有一個需求,將資料庫裡面的某些列顯示在表頭給使用者看,如下表格資料:
專家 | 分數 |
---|---|
張三 | 80 |
小趙 | 96 |
王五 | 88 |
李四 | 90 |
需要轉化成如下的格式:即某列資料作為欄位顯示
張三 | 小趙 |
---|---|
80 | 96 |
解決方案:
SELECT P.ProgrectName,P.Supplier,P.SupplyNum FROM ( SELECT ProgrectName, OverseaSupply, NativeSupply, SouthSupply, NorthSupply FROM ProgrectDetail )T UNPIVOT ( SupplyNum FOR Supplier IN (OverseaSupply, NativeSupply, SouthSupply, NorthSupply ) ) P
關於SQL的第二個問題:查詢 當查詢一張表的時候,如果表裡面有20個欄位,但是select的19個欄位,SQL語句如下:
declare @col varchar(1000)
set @col=''
select @[email protected]+','+name from syscolumns where id=object_id('表名') and name<>'排除的欄位名' order by colid
set @col=stuff(@col,1,1,'')
exec('select '[email protected]+' from 表名')