试试这个:
SELECt var, cur_numberFROM FirstTableUNIOnSELECt t2.var, t2.new_numberFROM Firsttable t1INNER JOIN SecondTable t2 ON t2.new_number < t1.cur_number;
更新: 如果您使用的是SQL Server 2008或更高版本,则可以MERGE
将两个表合并为一个表,如下所示:
MERGE INTO FirstTable AS TGTUSING SecondTable AS SRC ON SRC.new_number >= TGT.cur_numberWHEN NOT MATCHED THEN INSERT (var, cur_number) VALUES (SRC.var, SRC.new_number);
sqlfiddle
这会将两个表的值合并到第一个表中。第一个表将包含:
VAR CUR_NUMBERA 10B 8A 2B 4B 6
注意: 使用时
MERGE:
- 您必须
MERGE
使用分号终止该语句,这是强制性的。 - 你不能
INSERT
里面WHEN MATCHED
这就是为什么我用了反向条件>=
的WHEN NOT MATCHED
。



