SQL中的错误 - 当子查询跟随=,!=,<,< =,>,> =或子查询用作表达式时,不允许这样做

时间:2014-09-18 12:07:02

标签: sql sql-update subquery

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

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那么第二次查询

1 个答案:

答案 0 :(得分:1)

您不需要子查询。您所需要的只是:

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