我正在尝试创建一个sql update语句,它会使下面的当前数据看起来像下面所需的数据。
简单如果父id为0,则ErrorDescriptionWithParent将是该行的errorDescrtiption。
如果父ID不为0,那么带父项的errordescription将是由分隔符分隔的父项的错误描述的连接值 - 以及子项错误描述。
请参阅下面的数据以获取说明。我试图使用coalesce函数,但我能够创建适当的字符串。提前谢谢
当前样本数据
ID ErrorDescription ErrorDescriptionWithParent ParentID
1 XYZ 0
2 Operator 1
所需的样本数据
ID ErrorDescription ErrorDescriptionWithParent ParentID
1 XYZ XYZ 0
2 Operator XYZ-Operator 1
以下是我对ParentID为0的记录的更新声明。我只需要帮助创建更新statemet以在ParentID不为0时更新ErrorDescriptionWithParent。谢谢
UPDATE errorcode
set ErrorDescriptionWithParent = ErrorDescription
where parentID = 0
答案 0 :(得分:1)
类似的东西:
update e
set ErrorDescriptionWithParent = isnull(p.ErrorDescription + '-', '') + e.ErrorDescription
from errorcode e
left join errorcode p on e.ParentID = e.ID
应该有用。