此选择语句怎么可能有效,但此更新语句在 VFP 9 中不起作用



概述

我正在尝试在Visual Fox Pro 9(VFP9)中编写一个select语句来更新一行(最终还有其他几条记录,我先写了一个选择语句,效果很好,我得到了预期的结果。

但我对 VFP9 语法有点陌生,谁不会在 2013 年呢? 我希望包含我selectUPDATE在实际的非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'

最新更新