--入库表 
Create Table InStockDetail2 

 dID int, --明细ID 
 MID int, --单据ID 
 FMarNo varchar2(50), --物料 
 FStockID int,  --仓库id 
 InQty int  --入库数量 
); --库存表 
Create Table StockQty2 

 FStockID int, --仓库ID 
 FMarNo varchar2(20), --物料 
 FQty int   --库存数量 
); --以下语句:我想根据单号为1的入库单,更新库存表的库存数量, 可是执行的时候提示“SQL未正确结束”
--请问,这个SQL语句应该怎么写? 多谢!
Update D Set D.FQty = D.FQty + S.InQty From StockQty D 
Inner Join InStockDetail S on D.FMarNo = S.FMarNo and D.FStockID = S.FStockID 
Where S.MID = 1;

解决方案 »

  1.   

    Update不支持直接查询多表  LZ这种 From StockQty D Inner Join InStockDetail S相当于直接查询2个表了 肯定报错
      

  2.   

    一般是这种类型 其实还有一种方法,接触的稍微少点
    Update StockQty D 
    Set D.FQty = D.FQty + (Select S.InQty 
                           from InStockDetail S 
                           where D.FMarNo = S.FMarNo and D.FStockID = S.FStockID and S.MID = 1);
      

  3.   

    merge百度下吧  很多例子