SQL替换内部更新时使用CASE

SQL替换内部更新时使用CASE,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,嘿,伙计们,我自己尝试解决这个问题已经有一段时间了,但我需要一些帮助,这是我的代码: UPDATE prop_Notes SET Notes += ( CASE WHEN Notes LIKE '%<p>" + ProductName + @"</p>%' THEN replace(Notes,'<p>" + ProductNa

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

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
更新项目注释
设置注释+=
(
案例
当像“%$p>”+ProductName+@“

%”这样的注释出现时 然后替换(注意,“”+ProductName+@“

”,“”+ProductName+@“

”) 其他“”+ProductName+@“

” 结束 ) 从道具笔记

我希望能够在sql列注释中添加/追加一个新字符串,前提是其中尚未包含该字符串。如果它存在,只需替换现有项,因此字符串不会更改。当我尝试运行此操作时,我在说出不明确的列注释时出错。任何帮助都将不胜感激,谢谢

查询的问题是
from
语句。只需删除不明确的列,即可修复该列

如果我能正确地理解你的问题,我建议你考虑一个简单的选择,比如这样的:

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

给桌子加别名<代码>更新pn SET Notes+=(pn.Notes(如“%$p>”+ProductName+@“

%”时的情况),然后替换(pn.Notes、“”+ProductName+@“

”、“”、“+ProductName+@”

”)或“”+ProductName+@”

”结束)从道具说明pn中您不需要从道具说明中。它是多余的,并导致列不明确。查询中的其他表是否有一个名为Notes的列?我编辑了我的问题以包含完整的调用,我需要
FROM
语句我需要
FROM
语句,因为此更新调用位于更大的SQL语句中,我将发布完整的SQL语句,也许它会给出更大的图片。先生,今天我学到了一些东西,比如
Alias
^^
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