SQL语句.删除两张表相同的数据
发布网友
发布时间:2022-04-28 22:13
我来回答
共2个回答
懂视网
时间:2022-04-08 02:53
使用说明: 使用时一定要小心,因为删选表的where条件是like所有必须保证where
后的like确定与你要删除表名相匹配
---------------------------------*/
--------参数定义-------------------
DECLARE @tableName AS Nvarchar(50) --查询表名条件(小心!,确保like条件是你要Drop的表.TableName尽量精确)
SET @tableName=‘test‘
--------------------------------------
--SELECT name FROM sys.tables WHERE name LIKE ‘%‘+@tableName+‘%‘ --查询出要删除表的名称
IF @tableName=‘‘ SET @tableName=‘tableName‘--初始化TableName为tableName,防止@tableName为空
DECLARE @tableNames AS Nvarchar(3000)
DECLARE @sql AS Nvarchar(3000)
SET @tableNames=
(SELECT ‘,‘+name FROM sys.tables WHERE name LIKE ‘%‘+@tableName+‘%‘ FOR XML PATH(‘‘))
SET @tableNames= Stuff(@tableNames,1,1,‘‘)
SET @sql=‘DROP TABLE ‘+@tableNames
EXEC(@sql)
T-SQL删除多张相似的数据表
标签:
热心网友
时间:2022-04-08 00:01
方法1:
delete from A t1
where exists
( select 1 from B t2
where t1.bm = t2.bm
and t2.cm = t2.cm
) ;
commit;
delete from B t1
where exists
( select 1 from A t2
where t1.bm = t2.bm
and t2.cm = t2.cm
) ;
commit;
方法二:
delete from A t1
where to_char(t1.bm)||to_char(t1.cm)
in (select to_char(t2.bm)||to_char(t2.cm) from B t2);
commit;
delete from B t1
where to_char(t1.bm)||to_char(t1.cm)
in (select to_char(t2.bm)||to_char(t2.cm) from A t2);
commit;
to_char() 是转成字符串的函数,防止bm,cm是数字。
如果bm,cm都是字符,可以省略to_char().
以上oracle 适用。
在SQL中怎么删除两个表中相同的数据
1,首先创建一个表,并在表中插入重复的记录,如下图所示。2,插入好以后就看见表中已经有重复的数据了,如下图所示。3,接下来在删除之前我们记得一定先备份,如下图所示。4,然后排除重复的记录可以通过distinct字段设置,如下图所示,然后将去重的数据插入到新表中。5,接着看到数据表下面多出来一...
如何用SQL语句删除两个表中相同的记录?
1,首先创建一个表,并在表中插入重复的记录,如下图所示。2,插入好以后就看见表中已经有重复的数据了,如下图所示。3,接下来在删除之前我们记得一定先备份,如下图所示。4,然后排除重复的记录可以通过distinct字段设置,如下图所示,然后将去重的数据插入到新表中。5,接着看到数据表下面多出来一...
如何删除sql 数据库表中某两个字段相同的记录
需要用连接查询来处理。如有以下2张表:查询2张表id和name字段内容完全相同的内容,可用如下语句:select a.* from test a,test1 b where a.id=b.id and a.name=b.name;结果:说明,两表连接where条件要写上关联条件,因为提问是两个字段完全相等,所以就写作:a.id=b.id and a.name=b.nam...
mysql删除重复数据,保留一条
1. 确定需要去除重复数据的表和列。2. 使用DISTINCT或GROUP BY语句查找重复记录。3. 使用DELETE语句结合子查询删除重复数据。确定需要操作的表和列 首先,你需要明确哪张表中有重复数据,以及是基于哪些列来判断重复的。例如,假设你有一个名为`students`的表,其中的`name`和`age`列有重复数据,那么...
sql server如何删除一张表中与另一张表相同的数据
1、首先这是user_a表的数据,如下:2、然后这是另一张user_b表的数据,如下:3、然后输入下方的查询语句,如下:SELECT user_a.`user`,Sum(user_a.money),Count(user_a.`user`)FROM user_a GROUP BY user_a.`user`HAVING user_a.`user` NOT IN ((select user from user_b group by ...
sql一个数据库中两个表结构类似,查出相同字段的内容怎么在一个表中删 ...
如有以下2张表:查询2张表id和name字段内容完全相同的内容,可用如下语句:select a.* from test a,test1 b where a.id=b.id and a.name=b.name;结果:说明,两表连接where条件要写上关联条件,因为提问是两个字段完全相等,所以就写作:a.id=b.id and a.name=b.name ...
sql存储过程通过ID删除两表中的数据。
假如你要删除两个表中ID相同的数据:思路是这样的,你应该先查找出两站表中所具有的相同ID,然后对这个ID集合记性遍历,分别从a,b两个表中删除相应的饿数据。具体的语法我记不清了,思路应该是这样的,也许会有更好的方法,我这个只做参考。但是在删除的过程中,我们还需要考虑一个问题,我们要及...
如何用SQL语句实现在一个表中删除掉另一个表中相同的数据行
--表A 指原表,表B指要删除数据的表,A表中的字段sos与B表中的sos字段相同且都是主键(唯一确定一行数据的字段)delete from B where sos in (select sos from A)
sql 中如何删除其中一个表中跟另一个表字段内容重复的行?
14 如果删除表1中id和表2相同的内容:delete from 表1 where id in (select id from 表2)如果删除表1中id,name和age都与表2相同的数据 delete from 表1 where exists (select 1 from 表2 where 表1.id=表2.id and 表1.name=表2.name and 表1.age=表2.age)...
...一个表的内容另一个表的内容也跟着删除,SQL语句怎么写
如果你非要同时删除,那你可以:1、创建一个触发器(适用于每次删除A表,都要删除B表):CREATE TRIGGER [tr_del_pk] ON [表A]FOR DELETE AS delete 表A from deleted where 字段1= deleted.字段1 delete 表2 from deleted where 字段2 = deleted.字段2 2、写个循环(如果你删除带有条件,...