使用Sql Developer无法更新表

时间:2015-02-22 18:29:14

标签: sql sql-server oracle oracle-sqldeveloper

问题.. 创造一个 SQL更新声明,使TN或供应商提供的所有产品的P_DISCOUNT加倍 FL 我有2个表,我试图引用包含状态的供应商表,而p_discount位于产品表中。

update PRODUCT
set P_DISCOUNT = 2 * P_DISCOUNT
where VENDOR.V_STATE in 
  (select VENDOR.V_STATE from VENDOR where  VENDOR.V_STATE = ('FL','TN'))

任何建议都会很棒

谢谢,

2 个答案:

答案 0 :(得分:2)

尝试此查询:

update PRODUCT
set P_DISCOUNT = 2 * P_DISCOUNT
where V_CODE in 
    (select VENDOR.V_CODE from VENDOR where VENDOR.V_STATE IN ('FL','TN'))

您正在根据加入字段过滤条件,而不是根据其中一个表

中的任何字段过滤条件

答案 1 :(得分:-1)

  

更新PRODUCT设置P_DISCOUNT = 2 * P_DISCOUNT其中V_STATE为
    (从VENDOR中选择VENDOR.V_STATE,其中VENDOR.V_STATE位于('FL','TN'))