我有一个表,它使用了很多用户定义由名为 udfindex 的字段驱动的字段。这可以是数百个1到3位数字中的一个。与索引关联的键值是 udjoin 。
我的问题是这个。我需要更新与 udfindex 18相关的任何内容的 udvalue ,将其作为 udvalue 的最后两个字符绑定到 udfindex 31表示特定的 udjoins 。
示例:
我目前有
udjoin | udfindex | udvalue
12345-001 | 31 | Superior Court, San Francisco, CA
12345-001 | 18 | NULL
如何运行SQL查询来更新与此 udjoin 关联的 udvalue 来表示以下内容:
udjoin | udfindex | udvalue
12345-001 | 31 | Superior Court, San Francisco, CA
12345-001 | 18 | CA
对此事项的任何协助将不胜感激。
致以最诚挚的问候,
-Nick
答案 0 :(得分:1)
您可以使用一些过滤器在同一个表上进行联接。
类似的东西(当然先做一个选择,以确保在做这个更新之前你已经得到了你想要的东西)
update t1
set t1.udvalue = substring(t2.udvalue, LEN(t2.udvalue)-1, 2)
from yourTable t1
join yourTable t2 on t1.udjoin = t2.udjoin and t2.udfindex = 31
where t1.udfindex = 18
--and t1.udjoin ='something'
请参阅SqlFiddle