从另一个表中的Count更新表列

时间:2013-08-09 20:29:50

标签: mysql sql join sql-like

我尝试使用另一个表中的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.任何帮助?

1 个答案:

答案 0 :(得分:0)

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

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