我正在尝试使用另一个表的COUNT结果更新表中的列。这里是代码:(并且正在工作)

UPDATE software2
SET totalsoft = (
   SELECT COUNT(*)
   FROM links
   WHERE sftwr = software2.softwarename)


但是,当我尝试使用LIKE实例代替=(在最后一行)时,我没有任何结果……这是代码:

UPDATE software2
SET totalsoft = (
   SELECT COUNT(*)
   FROM links
   WHERE sftwr LIKE '%software2.softwarename%')


发生的次数是0。有什么帮助吗?

最佳答案

UPDATE software2
SET totalsoft = ( SELECT COUNT(*)
                  FROM links
                  WHERE sftwr LIKE concat('%', software2.softwarename, '%')
                )


如果将列名放在引号中,则它将被视为字符串。然后,将不使用列内容,而是使用静态字符串'software2.softwarename'

09-30 09:11