sqlite下执行update语句无法像sql Server下实现join,例如:
update Product set Product.StockNumber =Product.StockNumber-BuyNumber from Product join OrderListDetail on (Product.ID =OrderListDetail.ProductID) join OrderList on (OrderList.ID=OrderListDetail.OrderListID) where OrderListID='55170b21-58d2-4e6f-8821-f0a56fed9b52'
解决办法:换用replace,改写如下
replace into Product (ID,Caption,Number,ProjectTypeCaption,BuyPrice,MeasureUnit,StockNumber) select Product.ID,Product.Caption,Product.Number,Product.ProjectTypeCaption,Product.BuyPrice,StockNumber-BuyNumber from Product join OrderListDetail on (Product.ID =OrderListDetail.ProductID) join OrderList on (OrderList.ID=OrderListDetail.OrderListID) where OrderListID='55170b21-58d2-4e6f-8821-f0a56fed9b52'
注意:Product表里的每个列都会重新赋值