【发布时间】:2020-07-03 22:50:03
【问题描述】:
我需要编写一个 sql 语句(Oracle),我可以在其中从两个差异表中提取数据并检查条件并返回某个字符串。 我的陈述是这样的,
Select review.comments as comments,resort.resortid,resort.resortname
case review.comments
when resort.starrating>=4.5 and resort.starrating<5 then 'Excellent'
when resort.strarating>=4 and resort.starrating<4.5 then 'Great'
else 'Good'
end
from review, resort
order by resort.resortid;
当我运行它时,我得到一个错误:“FROM 关键字未在预期的位置找到”并指向第 2 行中的 c。 如果我将 from 更改为第 2 行,则会出现错误:“SQL 命令未正确结束”。并指向“case review.cmets”中的第 3 r 行
【问题讨论】:
-
这是
CASE表达式,不是函数 -
您的隐式连接缺少关联两个表的条件。在这里,您正在对两个数据集进行笛卡尔积。
-
您在大小写之前缺少一个逗号。
-
@Sami 好的。我是新来的。对不起。