sql 存储过程处理重复数据

问题描述

有一个表A销售订单测试查询销售订单测试查询销售订单测试查询销售订单测试查询2销售订单测试查询往表b里面插数据,表A里名字相同的就加1,最后插入b表里的数据就如下图:销售订单测试查询销售订单测试查询1销售订单测试查询3销售订单测试查询2销售订单测试查询4那位高手加我QQ:指点一下哦,我的代码不知道怎么修改ALTERprocCopyDate@CheckIDnvarchar(4000)asbegindeclare@FIDnvarchar(4000)set@FID=@CheckID--插入数据declarePrint_CursorCURSORforselectFBillTypeID,FName,FDesigner,FDate,FGUID,FSystemfrom##tempwhere1=1andCHARINDEX(','+RTRIM(fid)+',',','+@FID+',')>0openPrint_Cursordeclare@FBillTypeIDint,@FNamevarchar(100),@FDesignerint,@FDatevarchar(50),@FGUIDvarchar(50),@FSystemint,@FcountintfetchnextfromPrint_Cursorinto@FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystemwhile@@fetch_status=0begin--////-----查询是否有同样GUID的数据存在ifnotexists(select*fromt_BC_PrintDesignwhereFGUID=@FGUID)begin--///----查询是否有同样方案的数据存在while(1=1)beginifexists(select*fromt_BC_PrintDesignwhereFName=@FName)--同方案名begin--/select@Fcount=count(*)fromt_BC_PrintDesignwhereFNamelike@FName+'%'set@FName=@FName+convert(varchar(100),@Fcount)end--/else--/breakend--/insertintot_BC_PrintDesignvalues(@FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystem)end--///fetchnextfromPrint_Cursorinto@FBillTypeID,@FName,@FDesigner,@FDate,@FGUID,@FSystemend--////CLOSEPrint_CursorDEALLOCATEPrint_Cursorend

解决方案

解决方案二:

解决方案三:
高手,请问你QQ号是多少啊,我想请教一下,我现在有点脑袋涨,能不能指点一下
解决方案四:
销售订单测试查询销售订单测试查询销售订单测试查询销售订单测试查询2销售订单测试查询用我的存储过程,插入后出来的是销售订单测试查询销售订单测试查询1销售订单测试查询2销售订单测试查询21销售订单测试查询3
解决方案五:
我想变成销售订单测试查询销售订单测试查询1销售订单测试查询3销售订单测试查询2销售订单测试查询4

时间: 2024-10-02 20:10:22

sql 存储过程处理重复数据的相关文章

sql查询出现重复数据!!

问题描述 sql查询出现重复数据!! 想让查询结果里这个字段create_time或者content不重复,应该怎么加DISTINCT 啊 select town_name,id,tid,username,userid,school_id,school_name,class_name,send_id, content,create_time,mphone,is_read,need_revert,send_type,msg_type,parent_id, file_name,file_path,s

sql如何去除重复数据

sql如何去除重复数据, 很多朋友一听就会想到DISTINCT ,那我们来看看distinct的用法吧. 下面来看看语法: SELECT DISTINCT column_name(s)FROM table_name 下面看个简单的例子: SELECT DISTINCT City FROM Persons   好了下面我们再来看看另一种方法用group by 来做吧,这个想法是从网上来的下面我们来看看下面的sql.   Select *,m_id from tbname group by m_id

sql 存储过程批量删除数据的语句_MsSql

复制代码 代码如下: Create PROCEDURE Batch_Delete @TableName nvarchar(100), --表名 @FieldName nvarchar(100), --删除字段名 @DelCharIndexID nvarchar(1000) as DECLARE @PointerPrev int DECLARE @PointerCurr int DECLARE @TId NVARCHAR(50), @sql NVARCHAR(1000) Set @PointerP

sqlserver利用存储过程去除重复行的sql语句

还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

sqlserver利用存储过程去除重复行的sql语句_MsSql

还是先上代码吧 ,可以先看 SQL语句去掉重复记录,获取重复记录 复制代码 代码如下: ALTER procedure [dbo].[PROC_ITEMMASTER_GETUNIQUE] @PAGEINDEX INT,@uid int,@itemnumber varchar(50) AS begin tran --开始事务 drop table [ItemMaster].[dbo].[testim] --删除表 --把不重复记录转存到testim中 select * into [ItemMast

sql删除重复数据的详细方法

  重复数据,通常有两种:一是完全重复的记录,也就是所有字段的值都一样;二是部分字段值重复的记录. 一. 删除完全重复的记录 完全重复的数据,通常是由于没有设置主键/唯一键约束导致的. 测试数据: if OBJECT_ID('duplicate_all') is not null drop table duplicate_all GO create table duplicate_all ( c1 int, c2 int, c3 varchar(100) ) GO insert into dup

SQL查看表中重复数据

  引言:最近发现了一个性价比比较高的sql,我们在建主键的时候,有时候会失败,其中有一个原因是因为所选的主键列有重复数据,这样就导致主键无法建成功,这个时候我们就需要删除重复的数据,如果数据比较少就可以直接看出来,但是如果数据比较多咋办呢,那就需要下面的这个sql了,可以很直观的看到哪些是重复的数据,有多少重复的数据. sql如下: select column1,column2,count(*) from tableName group by column1,column2 having co

帮忙写一段sql,重复数据取时间最近的怎么写?

问题描述 帮忙写一段sql,重复数据取时间最近的怎么写? 表如下学号 姓名 成绩 时间1 小明 88 9-5 1 小明 80 9-4 1 小明 70 9-3 输出结果学号 姓名 成绩 时间 1 小明 88 9-5 要求不用top.order by做 解决方案 select * from 表名 where 时间列=(selct max(时间列) from 表名) 解决方案二: 人在不,你是需要找出表中有一样的数据 并且拿出时间最大的 还是只有这三条数据找最大的啊

sql 去除重复数据(多字段)

问题描述 sql 去除重复数据(多字段) 我现在有个表 表里面有ID No,Pass 然后根据No,Pass相同的数据,保留Max(ID)数据,删除其他,如何做? 我是这么做的,不知道行不行 delete Min(ID),CAST(No AS VARCHAR)+CAST(Pass AS VARCHAR) from Table group by No, Pass having count(*) > 1 解决方案 可以用distinct或者group by一下 解决方案二: 试一下 DELETE F