Oracle Case 语句查询

SQL 新手

我正在使用 Oracle 查询来查找是否安装了诊断包。查询工作正常。

Select case when currently_used = 'TRUE' then 1
else 0
end DIAGNOSTICS_package
from dba_feature_usage_statistics
where name like '%Diagnostic Pack%'
and CURRENTLY_USED = 'TRUE'

在输出中,我需要添加另一个已安装的列。因此,如果 current_used = 'TRUE' 我需要将输出显示如下。

DIAGNOSTICS_package INSTALLED
1                   YES

我在 case 语句中遇到了 INSTALLED 列的问题。请指教。

谢谢

戴夫·科斯塔

对您的问题最简单的答案是,只需为第二列添加另一个 CASE 表达式:

Select case when currently_used = 'TRUE' then 1
else 0
end DIAGNOSTICS_package,
case when currently_used = 'TRUE' then 'YES' else 'NO' end INSTALLED
from dba_feature_usage_statistics
where name like '%Diagnostic Pack%'
and CURRENTLY_USED = 'TRUE'

我真的不明白为什么你想要两列以不同的方式告诉你同样的事情。

我也不明白为什么你需要一个 CASE 语句,因为你有and CURRENTLY_USED = 'TRUE'作为查询条件的一部分。

但也许在更大的背景下,这些事情才有意义。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章