2011-11-11 37 views
0

我試圖使用Excel電子表格中的值列表更新DB2表中的大約1000行。電子表格中有三個重要的數據列,其中兩個用於標識表中哪一行是必需的,而電子表格中的第三行對應於數據庫表中需要更新的不正確記錄。我可以輕鬆識別和選擇有問題的行,但是我不確定如何從值列表中更新這些行。從值列表更新行

表:

... ID_1  ID_2  STATUS ... 
     1234  2345   A 
     4321  5423   B 

電子表格:

ID_1  ID_2  STATUS 
1234  2345  B 
4321  5423  A 

要選擇我複製從Excel工作表中的列的記錄,添加撇號和逗號和使用

where id_1 in ('ID_1_a','ID_1_b'.....'ID_1_xxx') 

同樣的事情對於第二個標識列(ID_2)。我可以以某種方式使用這種表示法從狀態列表中更新嗎?電子表格包含其他多餘的列,而且這些列也不是表格中的唯一列。

回答

2

這做什麼,我想你想做的事:

將在D2單元格的公式(如電子表格是完全一樣的,你有它存在)

="update table set status='" & c2 & "' where id_1 = '"& a2 & "' and ID_2 = '" & b2 "'" 

那麼它的電子表格中複製下來。

這會生成SQL語句,然後您可以在數據庫上運行該語句。

+0

我試圖更新數據庫表,而不是電子表格。電子表格只是一個數據源,除非我誤解了你的答案... – NWilkie

+0

我已經更新了我的答案,以說明你對電子表格做了什麼。 – paulmorriss

+0

哦。對。我會給你一個機會,好好思考! – NWilkie