【发布时间】:2016-11-04 10:32:00
【问题描述】:
我正在尝试选择一个现有列并使用缩进的代码创建另一个列,但我得到了“ORA-00923:FROM 关键字未在预期位置找到”错误或“缺少关键字”错误。 (我是初学者)
你能帮帮我吗?
编辑:id 是一个整数,description 是一个字符串 我想为每个 id 创建一个列,当描述值匹配“VALUE1”或“VALUE2”时,该列将用作标志。在表 1 中只是从值的标识符到字符串的映射,在表 2 中我有所有记录。
select id as ID,
'cast( select description from db.table_1
join db.table_2 on table_2.id = table_1.id
case when (table_1.description in ('VALUE1', 'VALUE2')) then '1'
else '0'
end
) as boolean' as DesiredColumnName,
from db.table_2
【问题讨论】:
-
请编辑您的问题并提供示例数据和所需结果。无论您如何尝试修复它,您的代码都有多个错误。导致此错误的具体问题是
from之前的逗号,但删除它确实不会修复查询。 -
你需要做什么?
-
Oracle 没有
BOOLEAN数据类型。所以,除了所有的语法问题之外,在你修复它们之后,你会遇到这个问题,而且你将无法轻易修复它。您将需要确定DesiredColumnName是否是您所存储的内容的好列名?通过检查约束)只保存值0和1,或者是CHAR(1),只有值'T'和'F',或者可能是'Y'和'N'。