不显示相同字段问题。两张表。

ju897d 2007-09-30 03:24:17
两张表相连。显示某一字段不同的数据。select distinct ..........from where.. 不行。那样是根据整个记录,不同的显示出来相同的不显示。但是我要的是根据某一个字段,不同的部分显示出来相同的不显示。
比如:select id,pic from pic 可能一个id有好几个pic,我只要显示一个。比如第一个就行了。直接select distinct id,....不行。那样和没用distinct一样。
...全文
53 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
dawugui 2007-09-30
  • 打赏
  • 举报
回复
别的也显示的话,不是加min.

要用

select a.* from pic a,
(select id , min(pic) pic from pic group by id) b
where a.id = b.id and a.pic = b.pic



select a.* from pic a where pic exists (select top 1 pic from pic where pic = a.pic)
ju897d 2007-09-30
  • 打赏
  • 举报
回复
要是别的也显示也都用min一个人加过去??那不汗死。
gahade 2007-09-30
  • 打赏
  • 举报
回复

楼主是不是想要这种结果?
drop table #t
go
create table #t(id char(1),pic varchar(10))
insert into #t
select '1','aa'
union all select '1','bb'
union all select '1','cc'
union all select '2','dd'
union all select '2','ee'
union all select '3','ff'

alter table #t add id1 int identity(1,1)

select case when id=(select id from #t b where a.id1=b.id1+1) then '' else a.id end as [id],a.pic
from #t a
/*
id pic
---- ----------
1 aa
bb
cc
2 dd
ee
3 ff

(所影响的行数为 6 行)
*/
dawugui 2007-09-30
  • 打赏
  • 举报
回复
如果只有ID,PIC两个字段.

select id , min(pic) from tb group by id

select id , max(pic) from tb group by id

如果要同时显示其他字段,用我上面给的代码.
dobear_0922 2007-09-30
  • 打赏
  • 举报
回复

--try
select id, min(pic) from tb group by id
dawugui 2007-09-30
  • 打赏
  • 举报
回复
select a.* from pic a where pic exists (select top 1 pic from pic where pic = a.pic)
bqb 2007-09-30
  • 打赏
  • 举报
回复
select id,max(pic)as pic from pic group by id
dawugui 2007-09-30
  • 打赏
  • 举报
回复
select a.* from pic a,
(select id , min(pic) pic from pic group by id) b
where a.id = b.id and a.pic = b.pic

34,590

社区成员

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

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