根据条件将数据从一个表传输到另一个表

时间:2011-04-29 04:37:01

标签: sql sql-server

我的表名为SOURCETABLE,字段为RollID,SMSID,FName,Lname。 Destination表是DestTable,其中包含字段ID,FirstName,LastName。 我的任务是从SOURCETABLE的数据创建DestTable,条件如下:

If RollID = NULL
   ID = SMSID
else
   ID = RollID
end if

Fname将转到Firstname,Lname将转到LastName

我应该写什么声明?

2 个答案:

答案 0 :(得分:5)

这应该这样做:

INSERT INTO DestTable (ID, FirstName, LastName)
   SELECT COALESCE(RollId,SMSID), FName, LName
   FROM SourceTable

您可以在这里阅读COALESCE的内容:

http://msdn.microsoft.com/en-us/library/ms190349.aspx

答案 1 :(得分:0)

    INSERT INTO  DestTable (Id, FirstName, LastName)
    SELECT CASE WHEN ISNULL(RollId,'')='' THEN SMSId ELSE RollId END, 
    FName, LName FROM SOURCETABLE