INNER JOIN在Sqlite android中不起作用

时间:2015-08-10 12:45:19

标签: android sqlite cordova inner-join

我们有两个表(toRouteCSV7,UpdateFOCQtyTable)。toRouteCSV7有两列。 ItemNumber and FOCQty和UpdateFOCQtyTable有两列ItemID,updatefocvalue

toRouteCSV7 
in 
ItemNumber  FOCQty 
A123           0
A124           0
A125           0
A126           0 

UpdateFOCQtyTable

ItemID    updatefocvalue
A125         1256
A126         14596

更新后我们需要看起来像这样

 ItemNumber  FOCQty 
    A123           0
    A124           0
    A125           1256
    A126           14596

我们试过这个

 tx.executeSql('REPLACE INTO toRouteCSV7 (ItemNumber,FOCQty) select dest.ItemNumber,dest.FOCQty,src.ItemID,src.updatefocvalue from UpdateFOCQtyTable src inner join  toRouteCSV7 dest on src.ItemID = dest.ItemNumber');

我们没有运气。我们正在使用phoneGap开发移动应用程序。请指导我们

我们收到了错误

Error Processing SQL:5
Error Processing message SQL:could not prepare statement(1 4 values for 2 columns)

1 个答案:

答案 0 :(得分:1)

只要您想更新单个列,就可以使用相关的子查询:

UPDATE toRouteCSV7
SET FOCQty = (SELECT updatefocvalue
              FROM UpdateFOCQtyTable
              WHERE ItemID = toRouteCSV7.ItemNumber)
WHERE ItemNumber IN (SELECT ItemID
                     FROM UpdateFOCQtyTable)