求SQL语句:删除表A中与表B中相同数据

SunnyerLiu 2011-09-06 03:03:21
CREATE TABLE [dbo].[Sunny_oa_qjcc](
[编号] [varchar](16) NOT NULL,
[姓名] [varchar](32) NOT NULL,
[辅助类别] [varchar](16) NULL,
[请假类别] [varchar](16) NULL,
[请假日期] [datetime] NOT NULL,
[请假时段] [smallint] NOT NULL,
[开始时间] [datetime] NULL,
[结束时间] [datetime] NULL,
[请假小时] [real] NULL,
[请假理由] [varchar](128) NULL,
[请假全天] [bit] NULL,
[出差加班小时] [real] NULL,
[出差加班时段] [varchar](32) NULL,
[调休加班日期] [datetime] NULL,
[操作人] [varchar](32) NULL,
[审批人] [varchar](32) NULL,
[备注] [varchar](64) NULL,
[录入日期] [datetime] NULL
) ON [PRIMARY]

另一表名为leavae_data,结构完全相同.
现在想删除sunny_oa_qjcc中与leave_data中相同的数据.
...全文
472 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yubofighting 2011-09-06
  • 打赏
  • 举报
回复
有唯一主键的话就方便多了。。。。没有,只能悲剧了
hongjian39400 2011-09-06
  • 打赏
  • 举报
回复
delete a from sunny_oa_qjcc a inner join leave_data b
on a.编号=b.编号 and a.姓名=b.姓名 and ......
SunnyerLiu 2011-09-06
  • 打赏
  • 举报
回复
用的还是前面,保险,小F的还没试,不过非常感谢,那个checksum好新,我试了分享给大家
康少_小贱 2011-09-06
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 qianjin036a 的回复:]
SQL code

delete a from sunny_oa_qjcc a where a exists(
select 1 from leave_data where 编号=a.编号 and 姓名=a.姓名 and ......)
[/Quote]
+1
geniuswjt 2011-09-06
  • 打赏
  • 举报
回复

checksum(...)
chuanzhang5687 2011-09-06
  • 打赏
  • 举报
回复
你可以先查询该表,然后以文本形式显示,然后在复制列名 ,把你不要的给去掉,这样就避免了大段文字的输入[Quote=引用 7 楼 h2osio2 的回复:]
天,怎么这样啊.谢谢了,再试
[/Quote]
SunnyerLiu 2011-09-06
  • 打赏
  • 举报
回复
天,怎么这样啊.谢谢了,再试
--小F-- 2011-09-06
  • 打赏
  • 举报
回复

--try
delete from sunny_oa_qjcc where checksum(*) not in(select checksum(*) from leave_data)
--小F-- 2011-09-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 h2osio2 的回复:]
i see,我好象写错了一些,马上试,谢谢! where后面要写多少条件啊
[/Quote]
全部字段啊
SunnyerLiu 2011-09-06
  • 打赏
  • 举报
回复
i see,我好象写错了一些,马上试,谢谢! where后面要写多少条件啊
SunnyerLiu 2011-09-06
  • 打赏
  • 举报
回复
delete from sunny_oa_qjcc where exists(select 1 from leave_data where 编号leave_data.编号 and 请假日期leave_data.请假日期 and 请假时段leave_data.请假时段)

上面的写法对吗?怎么不是我要的结果啊
-晴天 2011-09-06
  • 打赏
  • 举报
回复
delete a from sunny_oa_qjcc a where exists(
select 1 from leave_data where 编号=a.编号 and 姓名=a.姓名 and ......)
NBDBA 2011-09-06
  • 打赏
  • 举报
回复
sunny_oa_qjcc中与leave_data中相同的数据.
是什么概念?是全部字段完全相同,还是部分字段组合相同?

34,836

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧