这个select语句怎么可能有效,但是这个更新语句不在VFP 9中?

时间:2013-01-29 22:41:35

标签: sql visual-foxpro sql-variant

概述

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

但是我对VFP9语法有点新,谁不会在2013年?我期待包含UPDATE的{​​{1}}运行实际非foxprose SQL 中有点像select

我的select语句,它工作正常。

UPDATE INNER JOIN

我的更新语句(包含我的select语句但不起作用):

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 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' 我看不到它在说什么,我的查询的4/5是我原来的选择声明。

1 个答案:

答案 0 :(得分: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'