0

概述

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

但我对 VFP9 语法有点陌生,2013 年谁不会呢? 我期待UPDATE其中包含我select的操作有点像UPDATE INNER JOIN实际的非 foxprose SQL

我的选择语句,它工作正常。

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 FoxProCommand contains unrecognized phrase/keyword.我看不到它在说什么,我的查询中有 4/5 是我原来的选择语句。

4

1 回答 1

1

像这样转换你的陈述:

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'
于 2013-01-29T22:49:48.507 回答