mysql多表join时候update更新数据的方法_MySQL
                        
                            时间:2021-07-01 10:21:17
                            帮助过:7人阅读
							                        
                     
                    
                    bitsCN.com
sql语句:
update item i,resource_library r,resource_review_link l set i.name=CONCAT('Review:',r.resource_name) where i.item_id=l.instance_id 
and l.level='item' and r.resource_id=l.resource_id and i.name='' 
JOIN UPDATE & JOIN DELETE 
 
update a 
set a.schoolname = b.schoolname 
from tb_Std as a join tb_Sch as b on a.School = b.School 
where a.std_year = 2005 
go 
/* 
(2 row(s) affected) 
*/ 
select * 
from tb_Std as a join tb_Sch as b on a.School = b.School 
/* 
A School A A School 
2 2005 A A School A A School 
3 2004 C A School C C School 
4 2005 D D School D D School 
(4 row(s) affected) 
*/ 
 
 
delete a 
from table1 a, table2 b 
where a.col1 = b.col1 
and a.col2 = b.col2 
 
The above SQL statement runs fine in SQL Server. 
If the Oracle 9i has different syntax or if there is any other way to accomplish this with a single delete statement that would be really helpful. 
> Hi, 
> 
> Is the following delete statement possible in Oracle 9i. 
> 
> delete a 
> from table1 a, table2 b 
> where a.col1 = b.col1 
> and a.col2 = b.col2 
> 
> The above SQL statement runs fine in SQL Server. 
> 
> If the Oracle 9i has different syntax or if there is any other way to accomplish this with a single delete statement that would be really helpful. 
> 
> Thanx in advance. 
> 
> -Bheem 
Bheem, 
Try this: 
DELETE FROM table1 a where exists (select 1 from table2 b 
where a.col1 = b.col1 and a.col2 = b.col2); 
Hope this helps, 
Tom K.bitsCN.com