视图查询问题

SylarZhou 2011-12-24 04:47:35
我写了个视图查询出来的数据是这样的

张三 xxx xxx xxx xxx
张三 xxx xxx xxx xxx
张三 xxx xxx xxx xxx
李四 xxx xxx xxx xxx
李四 xxx xxx xxx xxx

但是我想做出这个效果来

张三 xxx xxx xxx xxx
xxx xxx xxx xxx
xxx xxx xxx xxx
李四 xxx xxx xxx xxx
xxx xxx xxx xxx

要在sql里面实现 不在程序里面实现 可以吗
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
select
(case px when 1 then sname else '' end) as sname,col1,col2,col3
from
(select *,rid=row_number() over (partition by sname order by getdate())from tb)t
--小F-- 2011-12-24
  • 打赏
  • 举报
回复
select
(case px when 1 then sname else '' end) as sname,col1,col2,col3
from
(select *,rid=row_number() over (partition by sname order by getdate())from tb)t
AcHerat 元老 2011-12-24
  • 打赏
  • 举报
回复

--视图查询可以直接这段,当然版本在 2005 及其上的。

select (case when rid=1 then sname else '' end) sname,col1,col2,col3
from(
select *,rid=row_number() over (partition by sname order by getdate())
from tb
)t

-- try do it !
AcHerat 元老 2011-12-24
  • 打赏
  • 举报
回复

--可以在视图创建的时候写,也可以在视图查询的时候写,例如张三李四这个字段是 sname

create view viewname
as
select (case when rid=1 then sname else '' end) sname,col1,col2,col3
from(
select *,rid=row_number() over (partition by sname order by getdate())
from tb
)t
SQL777 2011-12-24
  • 打赏
  • 举报
回复
实现当然可以哇,报表里面去实现不是更好

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧