日期:2014-05-19  浏览次数:20490 次

sql 查询过滤某个字段相同的记录
比如我有一张新闻表   news(id,tilte,content)   和一张存放新闻附件的表files(id,newsid,filename)两张表是一对多的关系,我想做个查询,select   a.id,a.title,b.filename   from   news   a,files   b   where   a.id=b.newsid,这样的查询有很多title   重复的记录,我想过滤掉,请问怎么过滤啊,谢谢了!
news表记录                                                                     files表记录
id           title                   content                                 id         newsid       filename
1             a                           略                                           1           1                 aaaa
2             b                           略                                           2           1                 bbbb
3             c                           略                                           3           2                 cccc

我只要得到结果   1           a             aaaaa
                              2           b             ccccc



------解决方案--------------------
select a.id,a.title,(select min(filename) from files b where a.id=b.newsid)
from news a
------解决方案--------------------
http://community.csdn.net/Expert/topic/5400/5400771.xml?temp=.5377466
------解决方案--------------------
http://community.csdn.net/Expert/topic/5089/5089261.xml?temp=.7907068
------解决方案--------------------
如果是隨便取一個filename的話

Select
A.id,
A.title,
Min(B.[filename]) As [filename]
From
A
Inner Join
B
On A.id = B.newsid
Group By
A.id,
A.title