好的,我有两个表:
表 1:
id, featured_id
表 2:
id, assigned_to, media_id
查询
SELECT * FROM table2 where assigned_to = 1
可能会产生多行被返回。
然后我想进行如下查询:
UPDATE table1 (featured_id) (WITH LOWEST media_id FROM table2 WHERE table2.assigned_to = table1.id)
我想为了匹配 table2.assigned_to = table1.id,我可以使用 INNER JOIN
。
但是如何用最低值填充我不知道可能使用 order by 和 limit 但不确定语法。
有什么想法吗?
最佳答案
这是一个使用 min
加入子查询的选项:
update table1 t1
join (select assigned_to, min(media_id) min_media_id
from table2
group by assigned_to) t2 on t1.id = t2.assigned_to
set t1.featured_id = min_media_id;
关于mysql - 使用在表 2 中找到的结果的最低 ID 更新表 1 行的 SQL 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33359363/