全球旧事资料 分类
1行列转换r
原表姓名科目成绩r
张三语文80r
张三数学90r
张三物理85r
李四语文85r
李四物理82r
李四英语90r
李四政治70r
王五英语90r
r
转换后的表:姓名数学物理英语语文政治r
李四082908570r
王五009000r
张三90850800r
r
实例r
createtablecj创建表cjr
r
IDI
tIDENTITY11
ot
ull创建列ID并且每次新增一条记录就会加1r
NameVarchar50r
SubjectVarchar50r
ResultI
tr
primarykeyID定义ID为表cj的主键r
r
Tru
catetablecjr
Selectfromcjr
I
serti
tocjr
Select张三语文80u
io
allr
Select张三数学90u
io
allr
Select张三物理85u
io
allr
Select李四语文85u
io
allr
Select李四物理82u
io
allr
Select李四英语90u
io
allr
Select李四政治70u
io
allr
Select王五英语90r
行列转换r
Declaresqlvarchar8000r
SetsqlSelectNameas姓名r
SelectsqlsqlsumcaseSubjectwhe
Subjectthe
Resultelse0e
dSubjectr
fromselectdisti
ctSubjectfromcjascj把所有唯一的科目的名称都列举出来r
Selectsqlsqlfromcjgroupby
amer
Execsqlr
r
r
2行列转换合并r
原表班级学号r
11r
12r
13r
21r
22r
31r
转换后的表班级学号r
1123r
212r
31r
r
实例r
CreatetableClassNo创建表ClassNor
r
IDI
tIDENTITY11
ot
ull创建列ID并且每次新增一条记录就会加1r
ClassVarchar50班级列r
NumberVarchar50学号列r
PrimaryKeyID定义ID为表ClassNo的主键r
r
Tru
cateTableClassNor
SelectfromClassNor
I
sertI
toClassNor
Select11U
io
allr
Select12U
io
allr
Select13U
io
allr
Select21U
io
allr
Select22U
io
allr
Select31r
r
创建一个合并的函数r
DropFu
ctio
KFRetur
r
CreateFu
ctio
KFRetur
ClassVarchar50r
Retur
sVarchar8000r
asr
Begi
r
DeclarestrVarchar8000r
Setstrr
SelectstrstrcastNumberasVarchar50fromClassNoWhereClassClassr
SetstrSubStri
gstr1le
str1r
Retur
strr
E
dr
r
调用自定义函数得到结果r
SelectDisti
ctClassdboKFRetur
ClassFromClassNor
r
r
3列转行r
DropTableColum
ToRowr
CreatetableColum
r
好听全球资料 返回顶部