首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求一语句解决方案

2012-01-03 
求一语句编号名称规格明细00100200310010020031004005006200400500620040050062结果编号名称规格明细00100

求一语句
编号   名称   规格   明细
001     002     003     1
001     002     003     1
004     005     006     2
004     005     006     2
004     005     006     2

结果

编号   名称   规格   明细
001     002     003     1
                              1
004     005     006     2
                              2
                              2


[解决办法]
select id=identity(int,1,1) * into # from 你的表
select
编号=case when a.id =b.id then a.编号 else ' ' end,
名称=case when a.id =b.id then a.名称 else ' ' end,
规格=case when a.id =b.id then a.规格 else ' ' end,
a.明细
from # a, (
select id=min(id),编号,名称,规格 from #
group by 编号,名称,规格
)b
where a.编号=b.编号 and a.名称=b.名称 and a.规格=b.规格

drop table #

热点排行