如何删除访问权限或Excel中的重复和原始条目(多列)

时间:2013-06-10 19:51:06

标签: excel ms-access

有没有办法删除excel或access中的所有重复行和原始条目?
我需要删除3列中匹配的整行。这是一个视觉(底部表格应该是表格;在这种情况下,副本+原始文件具有相同的部件号,制造商和制造商编号将被删除):VISUAL

3 个答案:

答案 0 :(得分:2)

这在Access中似乎对我有用:

DELETE FROM parts
WHERE EXISTS
(
    SELECT p2.[PART NUMBER], p2.[MANUFACTURER], p2.[MANUFACTURER NUMBER]
    FROM parts p2
    WHERE parts.[PART NUMBER] = p2.[PART NUMBER] 
        AND parts.[MANUFACTURER] = p2.[MANUFACTURER] 
        AND parts.[MANUFACTURER NUMBER] = p2.[MANUFACTURER NUMBER]
    GROUP BY p2.[PART NUMBER], p2.[MANUFACTURER], p2.[MANUFACTURER NUMBER]
    HAVING COUNT(*) > 1
)

当我在测试数据上运行时......

PART NUMBER  MANUFACTURER  QUALITY  MANUFACTURER NUMBER
-----------  ------------  -------  -------------------
123          GORD                1  750                
123          OTHER               3  321                
123          OTHER               4  321                

...它会删除两个“OTHER”行,但只留下“GORD”行。

答案 1 :(得分:0)

DELETE * FROM MyTable WHERE PartNumber in (SELECT MyTable.PartNumber
FROM MyTable
GROUP BY MyTable.PartNumber
HAVING (((Sum(1))>1)));

答案 2 :(得分:0)

这应该为你做。它会检查所有三个字段,并删除原始字段和所有重复字段。

DELETE 
  parts.* 
FROM parts 
WHERE  (( ((SELECT Count (*) 
            FROM   parts AS P 
            WHERE  ( P.partnum & P.manf & P.manfnum = 
                     parts.partnum & parts.manf & parts.manfnum ) 
                   AND ( P.partnum <= parts.partnum ))) > 1 ));