日期:2014-05-18  浏览次数:20447 次

这个样子的查询结果怎么写?
职位 姓名
学生 A
学生 B
学生 C


怎么在sqlserver2005中让查询结果显示成这个样子


职位 姓名
学生 A
  B
  C

------解决方案--------------------
SQL code

declare @T table([职位] varchar(4),[姓名] varchar(1))
insert @T
select '学生','A' union all
select '学生','B' union all
select '学生','C'

;with maco as 
(
    select row_number() over (partition by [职位] order by [姓名])as rid,* from @T
)

select case when rid=1 then 职位 else '' end  as 职位,姓名 from maco
/*
职位   姓名
---- ----
学生   A
     B
     C
*/

------解决方案--------------------
SQL code
declare @T table([职位] varchar(4),[姓名] varchar(1))
insert @T
select '学生','A' union all
select '学生','B' union all
select '学生','C'

select
   case px when 1 then [职位] else '' end as [职位],
   [姓名] 
from
   (select px=row_number()over(partition by [职位] order by getdate()),* from @T)t
/*
职位    姓名
学生    A
    B
    C
*/