读书人

|M| 如果根据一个数组删除数据库记录

发布时间: 2012-02-13 17:20:26 作者: rapoo

|M| 如果根据一个数组删除数据库记录 强
如A表有字段DeleteID
A
DeleteID
2,4,5,6

B
ID Name
1 Age
2 Apple
3 Orange
4 Egg
5 Banana
6 Tomato

写出SQL语句根据A表中的DeleteID里面的ID号删除B表的相应记录

谢谢

[解决办法]
delete from B where charindex(DeleteID,(select DeleteID from A) )> 0
[解决办法]
create table A(DeleteID varchar(20))
insert A select '2,4,5,6 '

create table B(ID int,Name varchar(20))
insert B select 1, 'Age '
union all select 2, 'Apple '
union all select 3, 'Orange '
union all select 4, 'Egg '
union all select 5, 'Banana '
union all select 6, 'Tomato '

delete from B where charindex( ', '+rtrim(ID)+ ', ', ', '+(select DeleteID from A)+ ', ')> 0

select * from B

drop table A,B
[解决办法]
delete from b
from b inner join a on a.detailId=b.id

读书人网 >SQL Server

热点推荐