我正在尝试使用另一个表的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'