我有两张桌子:
table_Names
id,name
11,哈利 12,韦恩 13,拉希姆 14,曼努埃尔 15,托马斯table_relationship
A_id,B_id
11,14 <12> 15我需要具有A-B关系的ID的所有名称才能更新。
所以,我希望在SQL更新之后table_Names看起来像这样;
11,曼努埃尔 12,托马斯 13,拉希姆 14,曼努埃尔 15,托马斯mySQL语句应该如何?
我试过了:
UPDATE table_Names
INNER JOIN table_relationship
ON table_Names.id = A.id
SET table_Names=table_Names
WHERE table_relationship.Aid=table_names.id
答案 0 :(得分:1)
您可以通过将table_Names
加入关系表,然后再次加入table_Names
来解决此问题。
UPDATE table_Names AS t1
INNER JOIN table_relationship AS t2
ON t1.id = t2.A_id
INNER JOIN table_Names t3
ON t2.B_id = t3.id
SET t1.name = t3.name
请注意,不必担心会更新table_relationship
中显示的记录,因为这些记录会被INNER JOIN
过滤掉。