我有一个产品数据库:
其中有两列:
产品编号 产品名称 产品图片
1 aa xxx1.jpg
2 bb xxx2.jpg
3 cc xxx3.jpg
5 dd xxx4.jpg
6 ee xxx5.jpg
9 ff xxx6.jpb
.....
.....
.....
.....由于经常会有些产品是要淘汰的,要在产品库里删除的一个淘汰表.
例如要删除的
产品编号 产品名称
2 bb
5 dd
6 ee
9 ff
用sql语句怎么写一段语句,一次性列出要淘汰的图片,并删除记录呢?
其中有两列:
产品编号 产品名称 产品图片
1 aa xxx1.jpg
2 bb xxx2.jpg
3 cc xxx3.jpg
5 dd xxx4.jpg
6 ee xxx5.jpg
9 ff xxx6.jpb
.....
.....
.....
.....由于经常会有些产品是要淘汰的,要在产品库里删除的一个淘汰表.
例如要删除的
产品编号 产品名称
2 bb
5 dd
6 ee
9 ff
用sql语句怎么写一段语句,一次性列出要淘汰的图片,并删除记录呢?
where 产品编号=a.产品编号 and 产品名称=a.产品名称)
delete from tb1 where 产品编号 in (select 产品编号 from tb2)
insert into tb values(1, 'aa', 'xxx1.jpg')
insert into tb values(2, 'bb', 'xxx2.jpg')
insert into tb values(3, 'cc', 'xxx3.jpg')
insert into tb values(5, 'dd', 'xxx4.jpg')
insert into tb values(6, 'ee', 'xxx5.jpg')
insert into tb values(9, 'ff', 'xxx6.jpb')
godelete from tb where 产品编号 in (2,5,6,9)
select * from tbdrop table tb/*产品编号 产品名称 产品图片
----------- ---------- --------------------
1 aa xxx1.jpg
3 cc xxx3.jpg(所影响的行数为 2 行)
*/
create table tb1(产品编号 int,产品名称 varchar(10), 产品图片 varchar(20))
insert into tb1 values(1, 'aa', 'xxx1.jpg')
insert into tb1 values(2, 'bb', 'xxx2.jpg')
insert into tb1 values(3, 'cc', 'xxx3.jpg')
insert into tb1 values(5, 'dd', 'xxx4.jpg')
insert into tb1 values(6, 'ee', 'xxx5.jpg')
insert into tb1 values(9, 'ff', 'xxx6.jpb')
create table tb2(产品编号 int)
insert into tb2 values(2)
insert into tb2 values(5)
insert into tb2 values(6)
insert into tb2 values(9)
godelete from tb1 where 产品编号 in (select 产品编号 from tb2)
select * from tb1drop table tb1,tb2/*产品编号 产品名称 产品图片
----------- ---------- --------------------
1 aa xxx1.jpg
3 cc xxx3.jpg(所影响的行数为 2 行)
*/