国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > 綜合 > 正文

行列轉(zhuǎn)換 交叉表

2024-07-21 02:08:41
字體:
供稿:網(wǎng)友

總結(jié)了一些有代表性的貼子,具體見http://expert.csdn.net/expert/topic/2440/2440306.xml?temp=.6941645

1: 列轉(zhuǎn)為行:
eg1:
create table test (name char(10),km char(10),cj int)
go
insert test values('張三','語文',80)
insert test values('張三','數(shù)學(xué)',86)
insert test values('張三','英語',75)
insert test values('李四','語文',78)
insert test values('李四','數(shù)學(xué)',85)
insert test values('李四','英語',78)

想變成

姓名   語文   數(shù)學(xué)   英語
張三   80     86     75
李四   78     85     78


declare @sql varchar(8000)
set @sql = 'select name'
select @sql = @sql + ',sum(case km when '''+km+''' then cj end) ['+km+']'
 from (select distinct km from test) as a
select @sql = @sql+' from test group by name'
exec(@sql)

drop table test

 

eg2:
有表a,
 id pid
 1   1
 1   2
 1   3
 2   1
 2   2
 3   1
如何化成表b:
 id pid
  1  1,2,3
  2  1,2
  3  1
或者是從表b變成a(不要用游標(biāo))
以前有相似的列子,現(xiàn)在找不到了,幫幫忙!


--1.創(chuàng)建一個(gè)合并的函數(shù)
create function fmerg(@id int)
returns varchar(8000)
as
begin
declare @str varchar(8000)
set @str=''
select @[email protected]+','+cast(pid as varchar) from 表a where [email protected]
set @str=right(@str,len(@str)-1)
return(@str)
end
go

--調(diào)用自定義函數(shù)得到結(jié)果
select distinct id,dbo.fmerg(id) from 表a


2:
/***********     行轉(zhuǎn)列   *****************/
測(cè)試:
create table t1 (a int,b int,c int,d int,e int,f int,g int,h int)
insert t1 values(15, 9, 1, 0, 1, 2, 2, 0)

declare @ varchar(8000)
set @=''
select @[email protected]+rtrim(name)+' from t1 union all select ' from syscolumns where id=object_id('t1')
set @=left(@,len(@)-len(' from t1 union all select '))
--print @
exec('select '[email protected]+' from t1')

a          
-----------
15
9
1
0
1
2
2
0

 
,歡迎訪問網(wǎng)頁設(shè)計(jì)愛好者web開發(fā)。
上一篇:動(dòng)態(tài)SQL語句

下一篇:text字段

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 诏安县| 新化县| 南皮县| 沐川县| 定日县| 砀山县| 通江县| 台中市| 黔西县| 水城县| 伊宁县| 得荣县| 四川省| 永兴县| 新安县| 松桃| 东平县| 咸丰县| 金山区| 石泉县| 石嘴山市| 卓资县| 铁岭县| 普兰县| 南靖县| 寻甸| 岗巴县| 城固县| 乐都县| 龙陵县| 永善县| 延安市| 仙游县| 资阳市| 和田县| 准格尔旗| 富锦市| 昌江| 遵化市| 安丘市| 徐水县|