UPDATE 产品报价
SET 
  产品报价.产品编号=(
    SELECT 产品定义.产品编号
    FROM 产品定义
    WHERE 产品定义.类型='元器'
      AND 产品定义.型号='三极管'
      AND 产品定义.规格='9013'),
  产品报价.数量=30,
  产品报价.成本金额=57.00,
  产品报价.市面金额=330.00
FROM 产品报价,产品定义
WHERE 产品报价.id=11 - 确保子查询的返回记录数<=1
2 - FROM 产品报价,产品定义(是“产品报价”吧?)

解决方案 »

  1.   

    update  产品报价 set 产品报价.产品编号=(select 产品定义.产品编号 from 产品定义 where 产品定义.类型='元器' and  产品定义.型号='三极管' and 产品定义.规格='9013'),产品报价.数量=30,产品报价.成本金额=57.00,产品报价.市面金额=330.00 from 产品报价,产品定义 where 产品报价.id=1from 产品报价,产品定义 —— 干什么用?!
    update table_name set field1=xxx,field2=xxx,... where fieldx=xxxx
      

  2.   

    报错:语法错误(操作符丢失) 在查询表达式 '30 .00 from 产品报价'中。
      

  3.   

    如果把 'from 产品报价,产品定义 '删除则
    报错:"操作必须使用一个可更新的查询"
      

  4.   

    注意 , . 的全角问题FROM 产品报价,产品定义
    改为
    FROM 产品报价好像产品定义多于了
      

  5.   

    update  产品报价,[select 产品定义.产品编号 from 产品定义 where 产品定义.类型='元器' and  产品定义.型号='三极管' and 产品定义.规格='9013']. as a 
    set 产品报价.产品编号=a.产品编号,产品报价.数量=30,产品报价.成本金额=57.00,产品报价.市面金额=330.00  
    where 产品报价.id=1注意:update语句只有三部分:
    update 表名
    set 字段名 = 值
    where 条件