2012-11-12 50 views
1

所以我有一些數據如下:Matlab的SQL更新查詢

VAR1 (時間值1)

2  1934 
3  3221 
4  1314 

VAR2 (時間值2)

2  836 
3  5364 
4  2143 

,我要添加它創建一個數據庫中的一個新表,包含以下字段:time,value1,value2。

使用MATLAB我得到以下的datainsert功能(這不是我想要的):

time value1 value2 
2  1934  
3  3221 
4  1314 
2     836 
3     5364 
4     2143 

現在我試圖使用更新功能代替我希望得到如下:

time value1 value2 
2  1934  836 
3  3221  5364 
4  1314  2143 

要獲取的時間和值1到表我做了以下內容:

datainsert(connection,'table',{'time','value1'},var1); 

但我應該怎麼做現在插入value2數據?

在此先感謝!

回答

0

var1和var2的時間值是否相同(例如,具有相同順序的相同值)?

在這種情況下,你可以簡單地創建通用陣列三個字段,然後插入該數組到數據庫:

new_var=[var1 var2(:,2)]; 
datainsert(connection,'table',{'time','value1','value2'},new_var); 

如果時間值的順序不一樣的VAR1和VAR2比你將需要更復雜的動作創建通用數據集。例如,您可以使用十字路口:

[new_time,i1,i2] = intersect(var1(:,1), var22(:,1)); 
new_var=[new_time var1(:,2) var2(:,2)]; 
+0

謝謝!是的,兩個變量的時間值應該是相同的。每個人都有獨立變量的唯一原因是因爲我首先從數據庫中單獨讀取它們。我會嘗試你的建議:) –