sql查询表字段后显示重复记录?如何删除?

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:29:42
如题,我现在需要查询products表里面的ID为3的记录,查询出来后的显示重复了多条记录,怎样删除掉这些多余的重复记录呢?
表的结构
productsclass

id classname lsclassname
3 全自动生产线 0
4 自动生产线 3
5 配套产品 0
6 环保处理产品 5
7 连续式卷对卷生产线 3
8 喷镀 7

products表
id classid productsname
1 3 产品1
2 5 产品1
3 8 产品1
4 3 产品1

其中两表的相关是products中的classid相对应于productsclass中的ID字段,productsclass中的lsclassname字段是classname中的一个下属的子级,我现在需要查询当products中的classid=3时的产品名,但是有多行重复,希望高手能够帮忙看看。(后来我在SQL语句中加了DISTINCT就出错了,也不知道为什么)

<%dim rs
set rs=server.CreateObject("adodb.recordset")
sql="select products.productsname from products inner join productsclass on products.classid=productsclass.lsclassname where productsclass.lsclassname=3 order by products.classid desc"
rs.open sql,conn,1,1
do while not rs.eof
response.

products中的classid相对应于productsclass中的ID字段,你的关联写的不对啊,这面的写法才是正确的:

select products.productsname from products inner join productsclass on products.classid=productsclass.id where productsclass.lsclassname=3 order by products.classid desc

同样查出来的两条记录,你怎么区别哪个是重复的哪个是正确的?

为什么要用连合查询呢
select distinct productsname from products where classid = 3不就完了吗?

查询products表里,id为3的,是 where products.id=3啊
你可以用关键字distinct,去除重复记录