Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 在构建案例陈述时需要帮助吗_Sql_Oracle - Fatal编程技术网

Sql 在构建案例陈述时需要帮助吗

Sql 在构建案例陈述时需要帮助吗,sql,oracle,Sql,Oracle,我需要帮助写一份案例陈述。在我的一个表中有一列,它有一些值,我想从这些值中生成一个字符串。下面是我表格中的列,以及我希望看到的输出 风险评分 1.70 2.10 2.60 3.00 3.20 3.60 3.80 4.00 4.10 4.30 4.60 4.90 5.20 5.40 5.50 5.60 5.80 6.10 6.40 6.60 6.80 7.10 7.50 因此,我的要求是我需要一个案例陈述,如果风险评分>0,3和6,则必须达到高区间 问候, Vikas您只需要一个简单的案例 SE

我需要帮助写一份案例陈述。在我的一个表中有一列,它有一些值,我想从这些值中生成一个字符串。下面是我表格中的列,以及我希望看到的输出

风险评分

1.70
2.10
2.60
3.00
3.20
3.60
3.80
4.00
4.10
4.30
4.60
4.90
5.20
5.40
5.50
5.60
5.80
6.10
6.40
6.60
6.80
7.10
7.50
因此,我的要求是我需要一个案例陈述,如果风险评分>0,3和6,则必须达到
区间

问候,


Vikas

您只需要一个简单的
案例

SELECT val
    ,CASE 
        WHEN val > 0
            AND val <= 3
            THEN 'LOW'
        WHEN val <= 6
            THEN 'medium'
        WHEN val > 6
            THEN 'High'
        END AS bucket
FROM table1;

您可以利用大小写表达式中子句的短路求值:

...
    case when risk_score > 6 then 'high'
         when risk_score > 3 then 'medium'
         when risk_score > 0 then 'low'
         else                     'some_description_here'
    end
        as bucket

ELSE
部分用于风险评分,而不是
>0
。(风险分数为0,如果可能为负,或者-更可能的情况是-
NULL
,如果您的表中可能存在这种情况。)如果您不需要
ELSE
分支,则不需要它。

在阅读了有关Oracle案例表达式的内容后,让我们看看您尝试了什么。因为这些都没有缺点,我想你必须要有某种规格化技术,你可以创建逻辑,将参数初始化为Low,Med,High,然后在你的例子中使用它。但是YMMV。显示一些代码。谷歌甲骨文案例。然后尝试编写一个查询。如果不起作用,则发布您的查询。那也许有人会帮你。这里有一个很好的参考如何提问。
...
    case when risk_score > 6 then 'high'
         when risk_score > 3 then 'medium'
         when risk_score > 0 then 'low'
         else                     'some_description_here'
    end
        as bucket