表号 项目 结论
1 起动 合格
1 潜动 不合格
2 起动 不合格
2 潜动 不合格把这个表用一个Sql语句查出为另一个表,结果为:
表号 起动 潜动
1 合格 不合格
2 不合格 不合格这个Sql语句应该如何写呢?小弟拜求!
解决方案 »
- backgroundWorker中,关于ReportProgress,一定需要先强制转换吗?
- 请问GDI+的双缓冲到底如何实现,有没有代码给我参考下???
- JS访问WebServices的问题
- utf8转换gb2312的问题?
- c#空格问题
- 新建的c#讨论群,欢迎加入.17725036
- 遍歷DataSet,DataTable問題
- Installer 怎么不执行啊???
- 如何修改DATASET writexml方法生成的XML文件??我是说改第一行的那个encoding
- xml 序列化问题,不知道是不是 .net 的Bug
- C#怎样才能做出QQ的那个仿照XP开始菜单的好看的菜单呀
- 未将对象引用设置到对象的实例的错误,在么改?
set nocount on
create table test(表号 varchar(20),项目 varchar(20),结论 varchar(20))
insert into test select '1','起动','合格'
insert into test select '1','潜动','不合格'
insert into test select '2','起动','不合格'
insert into test select '2','潜动','不合格'
go
--测试
select 表号,
max(case when 项目='起动' then 结论 else '' end)起动,
max(case when 项目='潜动' then 结论 else '' end)潜动
from test
group by 表号
--删除测试环境
drop table test
set nocount off
insert into tb select 1,'起动','合格'
insert into tb select 1,'潜动','不合格'
insert into tb select 2,'起动','不合格'
insert into tb select 2,'潜动','不合格'select 表号,
max(case when 项目='起动' then 结论 end) as '起动',
max(case when 项目='潜动' then 结论 end) as '潜动'
from tb
group by 表号declare @sql varchar(8000)
select @sql=isnull(@sql+',','')+'max(case when 项目='''+项目+''' then 结论 end) as ['+项目+']'
from (select distinct 项目 from tb)tp
exec('select 表号,'+@sql+' from tb group by 表号')表号 起动 潜动
1 合格 不合格
2 不合格 不合格
//linq 我就会
//把表的数据放到dataset中
//然后设置好关系
var query = from tmp表1 in dataset1.表1
join tmp表2 in dataset1.表2
on tmp表1.表号 equals tmp表2.表号
select new{tmp表2.表号,
tmp表2.起动,
tmp表2.潜动
}