查询记录如果有重复的就输出一条,不重复的直接输出!

来源:百度知道 编辑:UC知道 时间:2024/06/06 13:24:33
查询记录如果有重复的就输出一条,不重复的直接输出!
可以用在ACCESS 我自己写了一个 SQL 2000可以用但是ACCESS 就查询不到记录
Select * From gongqiu Where ID In (Select Max(ID) From gongqiu where info like '%北京%' or info like '%天津%' Group By info) order by id desc
在SQL 下一点也没问题。。 ACCESS 就不能 有高手帮帮忙吧。高分求助!
select distinct 不要说用这个。我要输出所有字段 只对比一个字段。 这跟通配符 没关系的

1、原因:access中模糊查询匹配任意字符的通配符不是【%】而是【*】,所以改成:
Select * From gongqiu Where ID In (Select Max(ID) From gongqiu where info like '*北京*' or info like '*天津*' Group By info) order by id desc;

2、关于access中的通配符和SqlServer2000中的差别,请参考下面的网址:
http://hyadliujing.blog.163.com/blog/static/4484507420081122111121173

********************************
补充:根据你的描述 你写的sql在SqlServer中是好用的,是可以满足你的要求的,但是到access中就不能满足你的要求了。
我指出的是在access中不能满足你要求的原因,这是因为access不支持【%】通配符而支持【*】通配符,所以我改动了一下你的sql,并给了你一个讲解通配符的网址。
********************************
---
以上,希望对你有所帮助。

Select * From gongqiu Where [ID] = (Select Max([ID]) From gongqiu where info like '%北京%' or info like '%天津%' Group By info) order by [id] desc

或者

Select * From gongqiu Where [ID] = (Select Max([ID]) From gongqiu where info like