【问题标题】:Error in SQL - This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expressionSQL 中的错误 - 当子查询跟随 =、!=、<、<=、>、>= 或当子查询用作表达式时,这是不允许的
【发布时间】:2014-09-18 12:07:01
【问题描述】:

我正在尝试根据两个条件更新字段

UPDATE TABLE1 SET FIELD1 = (SELECT SUBSTRING(LEFT(FIELD2,3),2,2) FROM TABLE1) WHERE FIELD2 LIKE '0%' AND FIELD3 IN ('OK','YES')
UPDATE TABLE1 SET FIELD1 = (SELECT SUBSTRING(LEFT(FIELD2,3),1,2) FROM TABLE1) WHERE FIELD2 NOT LIKE '0%' AND FIELD3 IN ('OK','YES')

Field1 具有以 0 和 1 开头的数字。 如果它以 0 开头,则更新第一个查询。 如果为 1 则为第二个查询

【问题讨论】:

    标签: sql sql-update subquery


    【解决方案1】:

    您不需要子查询。您只需要:

    UPDATE TABLE1 
    SET FIELD1 = SUBSTRING(LEFT(FIELD2,3),2,2) 
    WHERE FIELD2 LIKE '0%' 
    AND FIELD3 IN ('OK','YES')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多