2012-11-12 149 views
0

我需要就如何處理這個問題進行一些幫助下:導入數據從一個表到另一個條件

我有以下SQL服務器表:

Transitions


IDint
VariableIDINT
To_VariableIDINT
To_ValueIDINT
To_CommentInput
To_SPVARCHAR(255)


Processes


IDINT
VariableIDINT
ValueIDINT
Manual_ValueVARCHAR(255)


什麼適用於Transitions:只有一個領域中

To_VariableIDTo_ValueIDTo_CommentInputTo_SP

可以在各行中的時間設置。
在某些情況下,我想從Transitions某些數據去Processes。現在

,如果To_ValueID已經連續在Transitions被設置,它的價值應該去ValueID字段中Processes表。 如果不是,那麼填充的字段(不知道哪一個,它可能是To_VariableIDTo_CommentInput,To_SP)應該在Manual_Value字段中。

任何幫助將不勝感激!

+1

假設值都爲空,如果不是有'合併(To_ValueID,ToVariableID,To_CommentInput,To_SP)' – Laurence

+0

是,其它的值​​總是空。 – hermann

+0

如果你放入一些示例數據,這將會容易得多。 – Laurence

回答

0

就像這樣,雖然你的確切映射可能不同。

Insert Into Processes (Id, VariableID, ValueID, Manual_Value) 
Select 
    Id, 
    VariableID, 
    To_ValueID, 
    Coalesce(To_VariableID, To_CommentInput, To_SP) 
From 
    Transistions 
+0

這個查詢假設'To_ValueID'將始終爲NOT NULL,這是不正確的。只有當它不是NULL時,'To_ValueID'應該被複制到'ValueID'。 – hermann

+0

如果ValueID爲null,應該如何處理? – Laurence

+0

只是NULL。沒有別的 – hermann

相關問題