2014-07-25 70 views
0

我試圖根據另一列的條件更新列。 這樣的事情, >更新列與條件從另一列

Attire app | SPV id | SPV應用

| test  |  

    | test  | 

    |   |  

    |   | 

預期:

服飾應用軟件| Spv id | SPV App

approved |測試|

approved |測試|

approved | |批准

approved | |批准

因此,當第2列不爲空,然後更新列1,如果列2爲null,則更新列1和3列

這裏是我的代碼:

 strcommand = "update tbl_Approve set [Attire App] = 'Approved', [Attire Date] = @ADate, [SPV app] = case when [spv id] is null then 'Approved' END where [attire app] is null" 

上視覺我沒有添加一個名爲[attire date]的其他列,假設在視覺中有該列。 但它不起作用,它只是更新列1 ... 你對這個問題有什麼建議嗎?

在此先感謝。

+0

我刪除了mysql標籤,因爲語法顯然是SQL Server。 –

回答

1

我無法關注您的代碼,因爲它使用說明中的不同列名稱。但是,你想要的邏輯是:

update yourtable 
    set col1 = @COL1, 
     col3 = (case when col2 = '' or col2 is null then @COL3 else col3 end); 

注意的elsecase聲明。這將列的值設置爲自己 - 所以該值不會更改。

+0

這是一樣的....仍然沒有更新第3列...我將編輯視覺了一下...... –

+1

然後'col2'不是'NULL'。它可能只包含一個空白字符串或類似的東西。 –

+0

我應該怎麼做才能知道列的內容?它不顯示任何內容,我也沒有在該列中插入任何內容。 –