1

嘿伙计们,我一直试图自己解决这个问题一段时间,但我需要一些帮助,这是我的代码:

UPDATE prop_Notes 
SET Notes += 
            (
              CASE 
                   WHEN Notes LIKE '%<p>" + ProductName + @"</p>%'
                   THEN replace(Notes,'<p>" + ProductName + @"</p>', '<p>" + ProductName + @"</p>')
                   ELSE '<p>" + ProductName + @"</p>'
              END
            )
FROM prop_Notes

我希望能够在我的 sql 列 Notes 中添加/附加一个新字符串,如果它还没有包含该字符串。如果存在,只需替换现有项,因此字符串不会更改。当我尝试运行此程序时,我收到错误提示不明确的列注释。任何帮助将不胜感激谢谢!

4

1 回答 1

2

您的查询的问题是from语句。您可以通过删除它来修复不明确的列。

如果我正确理解您的问题,我建议您考虑一个更简单的替代方案,例如:

UPDATE prop_Notes 
    SET Notes = coalesce(Notes, '') + '<p>" + ProductName + @"</p>'
    where Notes not LIKE '%<p>" + ProductName + @"</p>%'

在这种情况下,您需要了解以下中的别名updates

UPDATE pn
SET Notes += 
            (
              CASE 
                   WHEN Notes LIKE '%<p>" + ProductName + @"</p>%'
                   THEN replace(Notes,'<p>" + ProductName + @"</p>', '<p>" + ProductName + @"</p>')
                   ELSE '<p>" + ProductName + @"</p>'
              END
            )
FROM prop_Notes pn
于 2013-04-17T15:25:46.020 回答