主题:重复记录问题
tqtqtq
[专家分:10] 发布于 2006-12-06 17:22:00
各位大侠,请问如何把一个表中字段(如姓名,工资,年龄)都相同的记录全部显示出来。(比如有三条李四的记录就显示三条李四的记录)。
回复列表 (共10个回复)
沙发
booksword [专家分:210] 发布于 2006-12-06 20:13:00
select * from table where name='李四'
板凳
comwang [专家分:0] 发布于 2006-12-06 21:30:00
select * from tabel where name='李四'[em11]
3 楼
tqtqtq [专家分:10] 发布于 2006-12-07 08:03:00
如果还不知道是哪一条记录是重复的,该如何去查出重复的记录。
4 楼
booksword [专家分:210] 发布于 2006-12-07 15:04:00
你最好把把问题说清楚点,
5 楼
wealthy [专家分:1840] 发布于 2006-12-07 15:20:00
用模糊查找法吧
select * from table where name like '%李四%'
6 楼
tqtqtq [专家分:10] 发布于 2006-12-07 22:35:00
我是说在一个表中存在重复的记录,也许是张三,也许是李四或者是黄五,但事先我并不知道是哪一条记录是重复的,我想通过查询找到这表中所有的重复记录。如有三条李四的记录就显示三条李四的记录,有四条张三的记录就显示条张三的记录,不管是谁的记录重复有多少条重复都要把它找出来。
7 楼
wealthy [专家分:1840] 发布于 2006-12-08 14:42:00
呵呵:
有一表TreeTest,如有字段:
id FParentID
1 123
2 123
3 456
4 654
5 456
6 000
输入下面查询语句后:
select * from TreeTest where FParentID in (select FParentID from TreeTest group by FParentID having count(FParentID) > 1)
结果显示是:
id FParentID
1 123
2 123
3 456
5 456
8 楼
tqtqtq [专家分:10] 发布于 2006-12-08 20:52:00
谢谢指教,但我这样写 sql.Add('select * from chengji where 姓名 in (select 姓名 from chengji group by 姓名 having count(姓名) > 1)');
后不能执行并出现了提示:DBISAM Engine Error # 11949 SQL error -expression in HAVING clause not found in source columns .的提示,不知是什么意思。该怎样改。
9 楼
tqtqtq [专家分:10] 发布于 2006-12-15 23:47:00
谁来帮一下我?
10 楼
wealthy [专家分:1840] 发布于 2006-12-16 14:05:00
你的代码无错,是否设置问题 或者你的表内根本无有"姓名"标题
procedure TForm1.Button1Click(Sender: TObject);
begin
ADOQuery1.sql.Clear;
ADOQuery1.SQL.Add('select * from TreeTest where FParentID in (select FParentID from TreeTest group by FParentID having count(FParentID) > 1)');
ADOQuery1.Open;
end;
我来回复