向A表中导入txt文件全量导入,A表中就开始有重复的记录了,
我要删除这些重复,删除A表与txt导入记录相同的,但只把A表里那个删除何留txt导入的记录。

解决方案 »

  1.   

    假设有个自增列ID,假设按照某关键字COL删除ID不是最大的数据.delete tb from tb t where id not in (select max(id) from tb where col = t.col)
      

  2.   

    假设有个自增列ID,假设按照某关键字COL删除ID不是最大的数据.delete tb from tb t where id not in (select max(id) from tb where col = t.col)delete tb from tb t where not exists (select 1 from tb where col = t.col and id > t.id)
    假设是按照多列删除数据.delete tb from tb t where not exists (select 1 from tb where col1 = t.col1 and col2 = t.col2 and id > t.id)
      

  3.   

    如果是全部列重复,假设表名为TB
    SELECT DISTINCT * INTO #TB FROM TB
    TRUNCATE TABLE TB
    INSERT INTO TB SELECT * FROM #TB
    DROP TABLE #TB如果是部分列重复,需要有一列区分是否是导入的,或者有一列时间列可以判断只保留时间最新的一条。
      

  4.   

    最好给出完整的表结构,测试数据,计算方法和正确结果.否则耽搁的是你宝贵的时间。
    如果有多表,表之间如何关联?
    发帖注意事项
    http://topic.csdn.net/u/20091130/21/fb718680-98ff-4afb-98d8-cff2f8293ed5.html?24281
      

  5.   

    A表结构:
    商品代码    商品名称   系数    品类
    00001      红河       10     烟
    00002      白沙       10     烟导入的txt和这个表的结构完全一样,导入后的结果如下。系数11的是导入的,把系统是10的删除,商品代码    商品名称   系数    品类
    00001      红河       10     烟
    00002      白沙       10     烟
    00001      红河       11     烟
    00002      白沙       11     烟
    最后A表的结果
    商品代码    商品名称   系数    品类
    00001      红河       11     烟
    00002      白沙       11     烟