我有两个表(art
和artlocation
),它们共有三列(series
,style
和location
)。我想要做的是确定所有三个字段是否在BOTH表中完全匹配,然后UPDATE
其中一个表(作为外键)与另一个表的主键匹配。
这是我跑来确定是否匹配的查询:
SELECT * FROM 'artlocation'
JOIN 'art' ON artlocation.series = art.series
WHERE artlocation.style = art.style
AND artlocation.location = art.location;
我想要做的是从“artlocation”表中的任何匹配中获取主键并更新“art”表外键字段。但我无法弄清楚这一点:(
请帮助......提前谢谢!!
答案 0 :(得分:1)
如果我理解你的意思正确我认为它会起作用
Update art
LEFT JOIN artlocation al ON al.series = art.series
SET [ Your Columns Here ]
WHERE al.style = art.style AND al.location = art.location
答案 1 :(得分:1)
如果我理解你的问题,你需要一个多表UPDATE
。您可以在UPDATE
UPDATE art
JOIN artlocation ON art.series = artlocation.series
AND art.style = artlocation.style
AND art.location = artlocation.location
SET art.location = artlocation.id