2012-11-12 51 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

谢谢!是的,两个变量的时间值应该是相同的。每个人都有独立变量的唯一原因是因为我首先从数据库中单独读取它们。我会尝试你的建议:) –