我有一个表Users,其中有一列MemberID
还有另一个称为UserMembers的表,该表为同一用户具有多个MemberID。
现在,我只需要使用UserMembers表中的1个值填充Users表MemberID,因此,如果它具有3个值,我需要最小值。
我试过了
UPDATE Users
SET MemberID = (SELECT DISTINCT m.MemberID FROM UserMembers
um INNER join Users u on um.UserID = u.UserID
ORDER BY um.CreatedDT ASC LIMIT 1);
但这不是正确的查询。任何帮助,将不胜感激
最佳答案
在Derived Table中,可以从MemberID
表中获得每个UserID
的UserMembers
最小值。使用Users
将其连接到UserID
表,并在Users
表中设置此最小值。
UPDATE Users AS u
JOIN
(SELECT UserID, MIN(MemberID) AS minMemberID
FROM UserMembers
GROUP BY UserID
) AS dt
ON dt.UserID = u.UserID
SET u.MemberID = dt.minMemberID
关于mysql - MySQL-根据另一个表的不同值更新一个表的行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53400723/