我有一张包含1800个条目的表格。 900个条目是多个字段中的值的其他900个条目的副本,例如contactFirstName和contactLastName,但是每个副本对中的一个包含另一个不包含的数据,例如PhoneNumber。包含附加数据的重复项,即:phoneNumber,具有statusID = 10,没有phoneNumber数据的重复项具有statusID = 2。 如何通过contactFirstName和ContactLastName找到重复对,然后为每对(请记住 - 有900对)将statusID = 2的副本中的phoneNumber数据复制到statusID = 10的副本中的phoneNumber字段中(但仅限于目标字段值为“NULL”)。
我希望我的解释清楚。我会非常感谢任何帮助。
答案 0 :(得分:0)
类似的东西:
UPDATE table
SET PhoneNumber = (SELECT t2.PhoneNumber
FROM table t2
WHERE t2.StatusID = 2
AND t2.contactFirstName = table.contactFirstName
AND t2.ContactLastName = table.ContactLastName)
WHERE PhoneNumber IS NULL
AND StatusID = 10;
答案 1 :(得分:0)
自己加入表格,并更新状态为10的那个。
示例(SQL Server语法):
update
a
set
phoneNumber = b.phoneNumber
from
TheTable a
inner join TheTable b on b.contactFirstName = a.contactFirstName and b.contactLastName = a.contactLastName and b.statusID = 2
where
a.statusID = 10 and a.phoneNumber is null