2014-04-25 35 views
0

我有两个不同的表。更新设置表与3个不同的表外键和主键

Department表

//Department 
D#   DNAME 
------------------- 
1   SALES 
2  ACCOUNTING 
3   GAMES 
5   SPORTS 

EMPLOYEE表

//Employee 
E#  D# 
----------- 
1  3 
2  2 
3  5 
4  5 

现在使用Update语句,更新d#= 5 d#= 3;

目前使用此语句

UPDATE EMPLOYEE SET D# = 3 WHERE D# = 5; 

但后来我努力学习,如果我不想更新使用d#,但是想用这意味着DNAME更新E会从体育#将改变游戏,什么我应该怎样解决它。

回答

0

你想沿着线的multi table update

东西:

update employee e 
    join department d using (d#) 
    set e.d# = 3 
where d.dname = 'SPORTS'; 

sqlfiddle