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

时间:2009-05-07 12:00:20

标签: sql insert

我在表格中有以下数据。

Name                LeftId    RightId
------------------------------------------
Cat                     1  
Cat                     2
Dog                     4
Dog                     5
Dog                               7
Dog                               69
Gerbil                  12        13 

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

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)

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

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

有人可以帮忙吗?

我猜测insert语句中会有一个select查询并使用CASE语句。我不知道怎么做到最好。

干杯:)

1 个答案:

答案 0 :(得分:5)

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

INSERT INTO newtable (id,name)
SELECT IsNull(leftid,rightid), name
FROM oldtable