怎样在SQL语句中查询出重复字段的记录

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:54:51
有一个“台账”表,字段如下:
供方代码 供方名称 图号 零件名称
1001 甲方 123 名称1
1002 乙方 234 名称2
1001 甲方 145 null
1003 丙方 null 零件3
1002 乙方 234 null
1002 乙方 null 零件3
1001 甲方 123 null
...
现要求用select语句查询出所有相同的“供方代码”记录中,“图号”重复和“零件名称”重复的所有记录。
这样的查询要求可以用一句select语句完成吗?是否必须建立临时表?建立临时表的语句 select * into #temp from 台账 有错误吗?为什么调试时老是出现“select 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确”?

select 供方名称,图号,零件名称 from 台账
group by 供方名称,图号,零件名称
having (count (供方名称)>1)

oracle,经过测试的,不知道能不能满足你的要求。请你看到后一定要回复我。谢谢。
sql@kokooa>select * from test015;

ID NAME MAPID COMNAME
---------- -------- ---------- --------
1001 甲方 123 零件1
1002 乙方 234 零件2
1001 甲方 145
1003 丙方 零件3
1002 乙方 234
1002 乙方 零件3
1001 甲方 123
1001 甲方 123 零件1
这是我测试的数据,最后多插入一个相同的1001 甲方 123 零件1用来检测。

sql@kokooa>select a.* from test015 a
2 inner join test015 b
3 on a.id=b.id and a.name=b.name and a.mapid=b.mapid
4 and a.comname=b.comname and a.rowid<>b.rowid;

ID NAME MAPID COMNAME
---------- -------- ---------- --------
1001 甲方 123 零件1
1001 甲方 123 零件1