代码之家  ›  专栏  ›  技术社区  ›  Pure.Krome

需要一些帮助尝试通过一些简单的数据检查执行简单的SQL插入

  •  0
  • Pure.Krome  · 技术社区  · 15 年前

    我在表格中有以下数据。

    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可以包含空值或nvarhcar值(即使它们列为数字,如上..它们永远都是数字。仅导入将字段创建为nvarchar(255)。

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

    有人能帮忙吗?

    我猜insert语句将包含一个select查询,并使用case语句。不过,我只是不确定如何最好地做到这一点。

    干杯:

    1 回复  |  直到 15 年前
        1
  •  5
  •   Andomar    15 年前

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

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