一对多表字段更新SQL

表T_A

id name
1 张三
2 李斯

表T_B

id name
1 zhangs
1 zsan
1 zs
2 lisi
2 ls

目的:将T_B表中id与T_A表id对应的记录的name,修改成与T_A表中的name一致。

如下:

id name
1 张三
1 张三
1 张三
2 李斯
2 李斯

执行SQL:

UPDATE T_B  SET (NAME, ID) = (SELECT NAME, ID FROM (SELECT T_B.ROWID RD, T_A.NAME, T_A.ID FROM T_A, T_B WHERE T_A.ID = T_B.ID) TMP WHERE T_B.ROWID = TMP.RD);

猜你喜欢

转载自softlife.iteye.com/blog/1714290