需要一些帮助尝试使用一些简单的数据检查来执行简单的SQL INSERT

Pur*_*ome 0 sql insert

我在表格中有以下数据.

Name                LeftId    RightId
------------------------------------------
Cat                     1  
Cat                     2
Dog                     4
Dog                     5
Dog                               7
Dog                               69
Gerbil                  12        13 
Run Code Online (Sandbox Code Playgroud)

我需要将它们插入到新表中...

Id         Name
-------------------------------
1          Cat
2          Cat
4          Dog
5          Dog
7          Dog
69         Dog
12         Gerbil    (or 13. don't care which number out of the two)
Run Code Online (Sandbox Code Playgroud)

所以字段LeftId和RightId可以包含NULLS或NVARHCAR值(即使它们被列为数字,上面......它们将始终是数字..只是导入创建字段为nvarchar(255).

如果需要,我可以修改源表字段.

有人可以帮忙吗?

我猜测insert语句中会有一个select查询并使用CASE语句.不过,我只是不确定如何做到最好.

干杯:)

And*_*mar 5

您可以使用IsNull轻松完成此操作:

INSERT INTO newtable (id,name)
SELECT IsNull(leftid,rightid), name
FROM oldtable
Run Code Online (Sandbox Code Playgroud)