【发布时间】:2014-11-25 13:39:43
【问题描述】:
假设我的表 @A 包含一系列行,其中有一列包含这些行的 NULL 值,并且我的表 @B 包含(可能更少或更多)行的值,我该如何将@B 的值应用于@A 的行以填充NULLs,而不更改@B? (我的意思是不使用游标;使用游标相当简单。)@A 和 @B 都在内存中(表变量)并且只有少量行,所以我们不必担心关于大数据集。
例如,如果我有:
DECLARE @A TABLE
(
x INT,
y NVARCHAR(20)
)
INSERT INTO @A (y) VALUES ('aaa'), ('bbb'), ('ccc')
DECLARE @B TABLE
(
x INT
)
INSERT INTO @B (X) values (1), (2)
现在我有@A:
和@B:
...我想根据@B 更新@A,所以它有:
...理想情况下按此顺序(例如,@B 中的最低值变为x,@A 中最低y,然后是下一个,等等)。
我觉得有一个相当简单的方法可以做到这一点,但我没有到达那里......
【问题讨论】:
标签: sql-server tsql sql-server-2012