概述
我正在尝试在Visual Fox Pro 9(VFP9)中编写一个select
语句来更新一行(最终还有其他几条记录,我先写了一个选择语句,效果很好,我得到了预期的结果。
但我对 VFP9 语法有点陌生,谁不会在 2013 年呢? 我希望包含我select
的UPDATE
在实际的非foxprose SQL中运行得有点像UPDATE INNER JOIN
。
我的选择语句,它工作正常。
SELECT temptable3.constate FROM temptable3, prw22001 ;
WHERE prw22001.empno = temptable3.empno AND temptable3.pssn = prw22001.ssn AND temptable3.empno='5202' AND temptable3.constate <> prw22001.stateid AND prw22001.procyear='2012'
我的更新语句(包含我的选择语句,不起作用):
UPDATE prw22001 ;
SET prw22001.stateid = SELECT temptable3.constate FROM temptable3, prw22001 ;
WHERE prw22001.empno = temptable3.empno AND temptable3.pssn = prw22001.ssn AND temptable3.empno='5202' AND temptable3.constate <> prw22001.stateid AND prw22001.procyear='2012'
我收到一个错误,Microsoft Visual FoxPro读取,Command contains unrecognized phrase/keyword.
我没有看到它在说什么,我的查询的4/5是我的原始选择语句。
像这样转换你的语句:
UPDATE prw22001 ;
SET prw22001.stateid = temptable3.constate ;
FROM temptable3, prw22001 ;
WHERE prw22001.empno = temptable3.empno AND temptable3.pssn = prw22001.ssn AND temptable3.empno='5202' AND temptable3.constate <> prw22001.stateid AND prw22001.procyear='2012'