航空论坛_航空翻译_民航英语翻译_飞行翻译

 找回密码
 注册
搜索
查看: 1404|回复: 0
打印 上一主题 下一主题

access处理重复记录的方法 [复制链接]

Rank: 9Rank: 9Rank: 9

跳转到指定楼层
1#
发表于 2009-11-10 10:55:59 |只看该作者 |倒序浏览
在一个表中有重复的记录,重复的次数可能是一条或多条,如何在重复记录中只留下一条,删除其他多余的记录,使数据集的每条记录都是唯一的?2 q  V( g! G" \3 A6 Z- F  {4 ]
本文运用了一种比较笨拙不过逻辑比较清楚的方法,希望大家能提供更好的方法!
' F" n6 ]8 _% V  I1列出表中的重复记录
& d( T0 Q- b) e% W' u(sameoda)) ^# \6 a; u' ~4 a- f; u
SELECT [2].[地级市], Count(*) AS 记录数
$ @1 U% y; U* oFROM 2& m+ r* {' {! E( L
GROUP BY [2].[地级市], k2 ?7 y0 d: P) M6 p4 a. F: `
HAVING count(*)>19 G( `' Q/ H* G% u
ORDER BY [地级市];  [: K; ~2 V/ n) T2 D
地级市记录数100000951094210000095111621000009511272100000951138210000095114921000009511502
# H9 o1 X( o9 s0 W2 w& k" w9 q2以下是除去相同记录的过程4 z- ^: t6 w# M: I5 P$ f; F9 |  `, w! @
1)列出表中的所有重复记录# {" x0 f, P9 P* }
(表2中重复记录)6 J9 B: z9 [+ o  a! k, n4 h
SELECT 2.*
& G9 g! b8 z$ ~. A2 n. t" Z) T) sFROM 2 RIGHT JOIN sameoda ON [2].[地级市]=[sameoda].[地级市];' u8 A+ \0 t4 z5 t+ e5 {! M
ID编号地级市保险货物名称数量及包装单位声明价值(元)运输自运输到74691466100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53511077100000951094苯扎贝特片、水飞蓟宾胶囊3箱18600天津佳木斯53501076100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐74681465100000951116水飞蓟宾胶囊5箱29000天津乌鲁木齐53531079100000951127氟他胺片4箱66800天津哈尔滨74711468100000951127氟他胺片4箱66800天津哈尔滨
; e" A" V" Y3 c# x1 A) O2)从重复记录中找到唯一的一条记录' m* a. m& L. y1 ]" }
minbihanhao
  {$ e0 X1 j0 E3 K' f3 j! }SELECT 2.*
( r' S6 @/ H  T  M! H6 R8 v! x( H# s& nFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]6 N6 D2 L3 G  b* e
WHERE [表2中重复记录].[id] Is Null;
1 j& T! @9 T) s: p9 Y, f/ p地级市id100000951094535110000095111653501000009511275353100000951138535410000095114953521000009511505355
0 q0 Z9 c/ a$ e' H* n3)显示唯一记录的全部信息3 R# N$ D6 D' p  b8 u
allsame1
5 \4 G0 I3 `  D5 @! G; FSELECT 2.*1 `6 {4 ^9 g- @* ?
FROM 2 LEFT JOIN minbihanhao ON ([2].[地级市]=[minbihanhao].[地级市]) AND ([2].[id]=[minbihanhao].[id])2 q% I4 @4 R4 f& D( F
WHERE [minbihanhao].[地级市] Is Not Null
6 M* M! A/ e8 ]. c& F9 BORDER BY [2].[id];  ?4 C" f4 w; L$ U6 C: _
# x6 _/ E3 F& P: i8 O( Z- I. O
4)在原表中除去所有相同的记录
+ W; ~8 K0 a0 F7 P6 [dropsame2
3 k+ {; ^2 h7 h5 H! R/ C6 oSELECT 2.*
9 [6 O) j: J; xFROM 2 LEFT JOIN 表2中重复记录 ON [2].[ID]=[表2中重复记录].[ID]0 ?' ?0 Q% `/ |' Y! Q# W4 n
WHERE [表2中重复记录].[id] Is Null;
5 {( L- q" C) y5)表2除去重复记录=在原表中除去所有相同的记录+显示唯一记录的全部信息: d6 J6 ^8 X1 J) Z; x6 ~
表2除去重复记录
' C9 U6 j8 A, ?SELECT *
. d. f+ g/ d+ O1 OFROM dropsame2
. d' S) a- n* tUNION select * from# V' e  \* b+ i2 v; C8 Y
allsame1;
您需要登录后才可以回帖 登录 | 注册


Archiver|航空论坛 ( 渝ICP备10008336号 )

GMT+8, 2025-11-27 01:52 , Processed in 0.022001 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 MinHang.CC.

回顶部