SQL Update在更新中使用内部数据

时间:2014-06-10 13:31:23

标签: mysql sql

通常,当您在SQL中执行更新时,您的语法如下所示:

UPDATE table SET fieldname_a = xxxx WHERE'fieldname_b'= yyyy

我的问题是。如何使用fieldname_c中的数据作为xxxx的值?所以如果fieldname_b是yyyy我基本上将fieldname_c中的值复制到fieldname_a?

感谢。

3 个答案:

答案 0 :(得分:0)

好像你需要在表格本身上进行内连接......并访问别名表格列,如下所示;

UPDATE table SET fieldname_a= xxxx
    INNER JOIN TABLE AS T ON T.[id] = id
WHERE 'fieldname_b' = T.fieldname_C

如果直截了当,您不需要加入表本身,只需将fieldname_c放在where子句中即可。

UPDATE table SET fieldname_a= xxxx WHERE fieldname_a = fieldname_C

答案 1 :(得分:0)

非常简单:

UPDATE表SET fieldname_a = fieldname_c WHERE'fieldname_b'= yyyy

HTH。

答案 2 :(得分:0)

如果fieldname_c在fieldname_a的同一个表中:

UPDATE table SET fieldname_a = fieldname_c WHERE fieldname_b = yyyy

如果它们在不同的表上,假设table1.fieldname_b和。之间存在关系 table2.fieldname_d

UPDATE table1, table2 SET table1.fieldname_a = table2.fieldname_c WHERE table1.fieldname_b  = table2.fieldname_d