[英]Updating Values in one table from another table
我在这里有一个查询,它将返回不同的曲目ID
注意:我正在从另一个表查询此。
SELECT t.track_id FROM tracks t , account_x_track axt,accounts a WHERE axt.track_id = t.track_id AND axt.account_id = a.id AND a.id = 2
然后我想做的是,由于从前一个表中检索到的ID来自Tracks表,因此上一个表中的所有ID将用于更新另一个表(特别是The Tracks表)。 我在想这样的事情。
UPDATE tracks
set visible = 3
WHERE visible in( SELECT t.track_id FROM tracks t , account_x_track axt,accounts a WHERE axt.track_id = t.track_id AND axt.account_id = a.id AND a.id = 2 )
但这似乎不起作用。 任何想法我将如何处理这种疾病? 还要注意,第一个查询查询多于mnay表
您不能在子查询的UPDATE
中引用同一表,而应使用JOIN
:
UPDATE tracks a
JOIN (
SELECT axt.track_id
FROM account_x_track axt
JOIN accounts a ON axt.account_id = a.id AND a.id = 2
) b ON a.track_id = b.track_id
SET a.visible = 3
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.