我有一个选择,它计算表Local中localName的数量,其中indIP等于表段中的indIP,并按segmentName分组

SELECT COUNT(localName) FROM Local L, Segment S WHERE L.indIP = S.indIP  GROUP BY segmentName;

COUNT(localName)

 - 2
 - 1
 - 3

现在我想把这个数字放在右边一行表段的nbRooms列中,更新如下:
UPDATE Segment SET nbRooms = ***

例子:
SELECT * FROM Segment

indIP | segmentName | nbRooms

 - 3---------first ----------------2
 - 4---------second------------1
 - 5---------third----------------3

你能帮助我吗?

最佳答案

可以使用相关子查询:

UPDATE Segment s
    SET s.nbRooms = (SELECT COUNT(*) FROM Local l WHERE l.indIP = s.indIP);

关于mysql - SQL中的UPDATE列等于其他表中的行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53147751/

10-10 18:12