根据另一个表中的值更新表

时间:2014-11-06 22:32:51

标签: mysql join sql-update

如果该id存在于MySQL中的另一个表中,我需要更新表中的字段。

表A:

ID Title
01 ABCDE
02 EFGHI
03 JKLMN

表B:

ID Category
01 CAT1
01 CAT2
02 CAT2
03 CAT1
03 CAT3

在这些表中A.ID = B.ID,我需要更新"标题"从表A中可以看出表B中的类别=" CAT1",所以,我必须更新"标题" ID 01和ID 03,但不是ID 02。

2 个答案:

答案 0 :(得分:0)

UPDATE TableA a
SET Title = 'whatever'
WHERE EXISTS (SELECT 1 FROM TableB b WHERE a.ID = b.ID AND b.Category = 'CAT1');

答案 1 :(得分:0)

您需要使用子查询。你可以这样做:

UPDATE A
  SET Title = 'OPQRS'
  WHERE ID IN (SELECT ID FROM B WHERE Category = 'CAT1')
相关问题