Oracle SQL-根据另一个SQL的值修改内容

Oracle SQL-根据另一个SQL的值修改内容,sql,oracle,case,Sql,Oracle,Case,我一直收到ORA-00905:这里缺少关键字错误。你能看一下吗 如果另一个变量等于“R”,则任务是用“N/A”替换属性的内容,否则-保持值不变 以下是我的代码摘录: SELECT CASE WHEN SCHEMA.TABLE.VAR1 = 'R' THEN SCHEMA.TABLE.VAR2 = 'N/A' ELSE SCHEMA.TABLE.VAR2 END AS NEW_NAME 如果要更改SQL表中的数据,应在此处使用更新而不是选择: UPDATE yourTable SE

我一直收到ORA-00905:这里缺少关键字错误。你能看一下吗

如果另一个变量等于“R”,则任务是用“N/A”替换属性的内容,否则-保持值不变

以下是我的代码摘录:

SELECT
CASE 
   WHEN SCHEMA.TABLE.VAR1 = 'R' THEN SCHEMA.TABLE.VAR2 = 'N/A'
   ELSE SCHEMA.TABLE.VAR2
END AS NEW_NAME
如果要更改SQL表中的数据,应在此处使用更新而不是选择:

UPDATE yourTable
SET SCHEMA.TABLE.VAR2 = 'N/A'
WHERE SCHEMA.TABLE.VAR1 = 'R'
如果需要在此处进行选择,请使用以下命令:

SELECT
    CASE WHEN SCHEMA.TABLE.VAR1 = 'R' THEN 'N/A' ELSE SCHEMA.TABLE.VAR2 END AS NEW_NAME
FROM yourTable
如果要更改SQL表中的数据,应在此处使用更新而不是选择:

UPDATE yourTable
SET SCHEMA.TABLE.VAR2 = 'N/A'
WHERE SCHEMA.TABLE.VAR1 = 'R'
如果需要在此处进行选择,请使用以下命令:

SELECT
    CASE WHEN SCHEMA.TABLE.VAR1 = 'R' THEN 'N/A' ELSE SCHEMA.TABLE.VAR2 END AS NEW_NAME
FROM yourTable

如果需要
select
,则列别名位于
select
之后<在
then
子句中不允许使用code>=:

SELECT (CASE WHEN SCHEMA.TABLE.VAR1 = 'R' THEN 'N/A'
             ELSE SCHEMA.TABLE.VAR2
        END) AS NEW_NAME
注意:应使用表别名,以便更易于编写和读取查询:

SELECT (CASE WHEN t.VAR1 = 'R' THEN 'N/A'
             ELSE t.VAR2
        END) AS NEW_NAME,
       . . .
FROM SCHEMA.TABLE t . ..

如果需要
select
,则列别名位于
select
之后<在
then
子句中不允许使用code>=:

SELECT (CASE WHEN SCHEMA.TABLE.VAR1 = 'R' THEN 'N/A'
             ELSE SCHEMA.TABLE.VAR2
        END) AS NEW_NAME
注意:应使用表别名,以便更易于编写和读取查询:

SELECT (CASE WHEN t.VAR1 = 'R' THEN 'N/A'
             ELSE t.VAR2
        END) AS NEW_NAME,
       . . .
FROM SCHEMA.TABLE t . ..

不幸的是,我没有更新的权利,所以我需要有条件地提取数据。@MaiiaS。在这种情况下,只需对当前查询稍作更改。不幸的是,我没有更新的权限,因此需要有条件地提取数据。@MaiiaS。在这种情况下,只需对您当前的查询稍作更改即可。谢谢您,@Gordon!谢谢你,戈登!