表中数据:
岗位ID 岗位 身份证 姓名 变更类型ID 变更类型 变更时间
001 总监 410xx 车庆秋 001 投标承诺人员 2006-11-01
001 总监 510xx 陈家健 002 实际进场人员 2006-11-01
002 总监代表 310xx 邓向阳 001 投标承诺人员 2006-11-01
002 总监代表 51xxx 董中男 002 实际进场人员 2006-11-01
002 总监代表 5xxxx YYYY 003 第一次变更 2006-11-01 要求结果集如下:
投标承诺人员 实际进场人员 第一次变更
岗位ID 岗位 身份证 姓名 身份证 姓名 身份证 姓名
001 总监 410xx 车庆秋 510xx 陈家健
002 总监代表 310xx 邓向阳 51xxx 董中男 5xxxx YYYY
这个要怎么写语句?
岗位ID 岗位 身份证 姓名 变更类型ID 变更类型 变更时间
001 总监 410xx 车庆秋 001 投标承诺人员 2006-11-01
001 总监 510xx 陈家健 002 实际进场人员 2006-11-01
002 总监代表 310xx 邓向阳 001 投标承诺人员 2006-11-01
002 总监代表 51xxx 董中男 002 实际进场人员 2006-11-01
002 总监代表 5xxxx YYYY 003 第一次变更 2006-11-01 要求结果集如下:
投标承诺人员 实际进场人员 第一次变更
岗位ID 岗位 身份证 姓名 身份证 姓名 身份证 姓名
001 总监 410xx 车庆秋 510xx 陈家健
002 总监代表 310xx 邓向阳 51xxx 董中男 5xxxx YYYY
这个要怎么写语句?
岗位ID varchar(10),岗位 varchar(10),身份证 varchar(10),
姓名 varchar(10),变更类型ID varchar(10),变更类型 varchar(20),变更时间 datetime)insert into test select '001','总监 ','410xx','车庆秋','001','投标承诺人员','2006-11-01'
insert into test select '001','总监 ','510xx','陈家健','002','实际进场人员','2006-11-01'
insert into test select '002','总监代表','310xx','邓向阳','001','投标承诺人员','2006-11-01'
insert into test select '002','总监代表','51xxx','董中男','002','实际进场人员','2006-11-01'
insert into test select '002','总监代表','5xxxx','YYYY ','003','第一次变更 ','2006-11-01'
godeclare @sql varchar(8000)
set @sql='select 岗位ID,岗位'
select @sql=@sql+',['+变更类型+'身份证]=max(case 变更类型 when '''+变更类型+''' then 身份证 else '''' end)'
+',['+变更类型+'姓名] =max(case 变更类型 when '''+变更类型+''' then 姓名 else '''' end)'
from test group by 变更类型
set @sql=@sql+' from test group by 岗位ID,岗位'exec(@sql)
godrop table test
go
岗位ID varchar(10),
岗位 varchar(10),
身份证 varchar(10),
姓名 varchar(10),
变更类型ID varchar(10),
变更类型 varchar(20),
变更时间 datetime)insert into test select '001','总监 ','410xx','车庆秋','001','投标承诺人员','2006-11-01'
insert into test select '001','总监 ','510xx','陈家健','002','实际进场人员','2006-11-01'
insert into test select '002','总监代表','310xx','邓向阳','001','投标承诺人员','2006-11-01'
insert into test select '002','总监代表','51xxx','董中男','002','实际进场人员','2006-11-01'
insert into test select '002','总监代表','5xxxx','YYYY ','003','第一次变更 ','2006-11-01'
godeclare @sql varchar(8000)
set @sql='select 岗位ID,岗位'
select @sql=@sql+',['+变更类型+'身份证]=max(case 变更类型 when '''+变更类型+''' then 身份证 else '''' end)'
+',['+变更类型+'姓名] =max(case 变更类型 when '''+变更类型+''' then 姓名 else '''' end)'
from test group by 变更类型,变更类型ID order by 变更类型ID
set @sql=@sql+' from test group by 岗位ID,岗位'exec(@sql)
go/*
岗位ID 岗位 投标承诺人员身份证 投标承诺人员姓名 实际进场人员身份证 实际进场人员姓名 第一次变更 身份证 第一次变更 姓名
---------- ---------- ---------- ---------- ---------- ---------- ---------- ----------
001 总监 410xx 车庆秋 510xx 陈家健
002 总监代表 310xx 邓向阳 51xxx 董中男 5xxxx YYYY
*/drop table test
go
...
的方法去构造. 其中需要重写:
protected override void Render(HtmlTextWriter write).net 估计就这么用的.数据提取.就用libin_ftsafe(子陌红尘:当libin告别ftsafe) 的了.