首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用例怎么用组?

用例怎么用组?
EN

Stack Overflow用户
提问于 2022-10-10 14:54:39
回答 1查看 22关注 0票数 1

我想要编写一个查询,给出一个从包含所有表的表的case表达式中获取的表,但是我得到了一个错误"ORA- 00936表达式缺席“。

这里我的问题是:

代码语言:javascript
复制
select table_name,
       case
         when table_name in ('SI_CONTRAT_EVT_F','SI_CONTRAT_EVT_PU_F')  then
          1
         else
          0
       end, 
from rgpd_table_param
where test = 1
group by
       table_name,
       case
         when table_name = 'SI_CONTRAT_EVT_F' then
          1
         else
          0
       end ;
EN

回答 1

Stack Overflow用户

发布于 2022-10-11 10:47:50

获得相同结果的一个更易读的替代方法是将CASE ... END表达式移动到一个新列,然后按名称对该列进行GROUP BY

代码语言:javascript
复制
WITH q1 AS (

    SELECT
        table_name,
 /*     CASE WHEN table_name IN ( 'SI_CONTRAT_EVT_F','SI_CONTRAT_EVT_PU_F' ) THEN 1 ELSE 0 END, -- Commented out because this column isn't used anywhere. */
        CASE WHEN table_name = 'SI_CONTRAT_EVT_F' THEN 1 ELSE 0 END AS isEvtF
    FROM
        rgpd_table_param
    WHERE
        test = 1
)
SELECT
    table_name,
    isEvtF
FROM
    q1
GROUP BY
    table_name,
    isEvtF
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74016827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档