你的sql语句中mport2和mynumber的关联关系在哪?table.SQL.Add('update import2');
table.SQL.Add('set import2.number=import2.number-mynumber.number');
table.SQL.Add('from mynumber '); //要有
table.SQL.Add('where import2.关联字段=mynumber.关联字段 AND '); //这两句
table.SQL.Add(' goodid in (select goodid from mynumber');
table.SQL.Add('where mykey='1234')');
table.SQL.Add('set import2.number=import2.number-mynumber.number');
table.SQL.Add('from mynumber '); //要有
table.SQL.Add('where import2.关联字段=mynumber.关联字段 AND '); //这两句
table.SQL.Add(' goodid in (select goodid from mynumber');
table.SQL.Add('where mykey='1234')');
table.SQL.Add('set import2.number=import2.number-mynumber.number');
table.SQL.Add('from mynumber '); //要有
table.SQL.Add('where import2.关联字段=mynumber.关联字段 AND '); //这两句
table.SQL.Add(' import2.goodid in (select goodid from mynumber ');//此处也有改动
table.SQL.Add('where mykey='1234')');还有其他的形式
mynumber表 mykey goodid number
1234 1 10
1234 2 5
2345 4 10
import2表 goodid number
1 100
2 100
3 90
我希望对先mynumber表根据mykey查找找到goodid
然后根据goodid对import2表修改,修改的结果如下
goodid number
1 100-10
2 100-5
3 90
table.SQL.Add('set import2.number=import2.number-mynumber.number');
table.SQL.Add('from mynumber '); //要有
table.SQL.Add('where import2.goodid =mynumber.goodid AND '); //这两句
table.SQL.Add(' mynumber.MYKEY=1234');//此处也有改动前面我写的最后一个好象有括号问题,自己改一下吧
update import2
set import2.number=import2.number-mynumber.number
from mynumber
where import2.goodid =mynumber.goodid AND
mynumber.MYKEY='1234'
或者其他等效语句