首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

|M| 如果根据一个数组删除数据库记录 强解决方案

2012-02-13 
|M| 如果根据一个数组删除数据库记录 强如A表有字段DeleteIDADeleteID2,4,5,6BIDName1Age2Apple3Orange4Eg

|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

热点排行