我正在尝试使用同一列中已有的值更新表中的列。该表有许多记录,但是在ID列中有一些它们可以与一个或两个其他记录共享的值。假设在ID列中有两个记录具有相同的ID值。然后,我想更新另一列称为详细信息。具有相同ID的两个记录没有相同的Details值。一个在该列中具有整数,另一个具有Null。我的问题是,对于包含相同ID的每组记录,如何将Null替换为整数。在下面,我将列出一个示例。
ID | 细节 |
---|---|
1234 | 55.60 |
1567 | 85.40 |
1234 | 空值 |
4569 | 58.09 |
1567 | 空值 |
8965 | 77.90 |
我想要一个可以根据ID填充这些null的查询。
ID | 细节 |
---|---|
1234 | 55.60 |
1567 | 85.40 |
1234 | 55.60 |
4569 | 58.09 |
1567 | 85.40 |
8965 | 77.90 |
我正在使用的表实际上要大得多,并且有更多列。我认为这两个与我要执行的操作有关。我已经尝试过自我加入,但似乎出错了。还有另一列通过用我没有包括在样本中的“打开”或“关闭”填充来区分相同的ID(如果有帮助的话)。这是在SQL Server 2019上。在此先感谢。
考虑到只有两个相同的ID,而一个在细节上具有价值:
update t1
set
t1.Details = t2.Details
from
tablename t1
join tablename t2
on t1.details is null
and t1.id = t2.id
and t2.details is not null
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句