`

case when then

 
阅读更多

select a.ITEM_ID,
       a.ITEM_ID ITEM_CODE_NAME,
       b.ITEM_CODE,
       b.ITEM_NAME,
       a.AGENCY_ID || '-' || a.AGENCY_ITEM_ID AGENCY_ID,
       a.ZC_DEPT_ID || '-' || a.ZC_DEPT_ITEM_ID ZC_DEPT_ID,
       a.ZCYJ,
       a.FUNDCLASS_ID,
       a.PROTYPE_ID,
       b.ID,
       b.ANNUAL,
       b.ZG_DEPT_ID || '-' || b.ZG_DEPT_ITEM_ID ZG_DEPT_ID,
       b.ZJ_DEPT_ID || '-' || b.ZJ_DEPT_ITEM_ID ZJ_DEPT_ID,
       b.EXPFUNC_ID || '-' || b.EXPFUNC_ITEM_ID EXPFUNC_ID,
       b.BASESVR_ID || '-' || b.BASESVR_ITEM_ID BASESVR_ID,
       b.INCSTR_ID,
       b.PAYTYPE_ID,
       b.STATUS,
       b.SN,
       to_char(b.START_DATE, 'yyyy-mm-dd') START_DATE,
       to_char(b.END_DATE, 'yyyy-mm-dd') END_DATE,
       b.PAY_MONTH,
       b.BGT_FILE,
       b.REV_FILE,
       b.SUPER_REV_FILE,
       b.IS_CZDB,
       b.IS_NCXM,
       b.CREATE_DATE,
       B.YSAMOUNT,
       b.COUNTY_DISP_ID,
       b.COUNTY_PROJ_ID,
       (CASE FUNDCLASS_ID
         WHEN 1 THEN
          (SELECT COND FROM TB_BGT_BASEEXP_FML WHERE ITEM_ID = A.ITEM_ID)
         ELSE
          NULL
       END) COND,
       (CASE FUNDCLASS_ID
         WHEN 1 THEN
          (SELECT REMARK FROM TB_BGT_BASEEXP_FML WHERE ITEM_ID = A.ITEM_ID)
         WHEN 2 THEN
          (SELECT REPLACE(TO_CHAR(WMSYS.WM_CONCAT(T1.NAME || '(' ||T1.F_REMARK || ')')), ',',' + ') AS FOMULA
             FROM TB_EXPITEM_REF_ECO T
             LEFT JOIN (SELECT ECO_ITEM_ID, B.NAME, B.F_REMARK
                         FROM TB_ECO_REF_EXP A
                         LEFT JOIN TD_STD_ITEM B
                           ON A.ITEM_ID = B.ITEM_ID) T1
               ON T.ECO_ITEM_ID = T1.ECO_ITEM_ID
            WHERE ITEM_ID = A.ITEM_ID
            GROUP BY ITEM_ID)
         ELSE
          NULL
       END) FOMULA
  from tb_bgt_item a
  join tb_bgt_item_info b
    on a.item_id = b.item_id
 where b.id =32776

分享到:
评论

相关推荐

    sql数据库 转 Access SQL语句改写之 Case When Then When Then Else End

    ### SQL数据库转Access SQL语句改写:Case When Then When Then Else End #### 知识点一:SQL CASE WHEN THEN 结构与Access IIF及SWITCH函数对比 在进行SQL到Access SQL的转换过程中,一个重要的知识点是了解如何...

    case when then

    一条sql语句就能让你case when then怎么用,什么时候用

    case when和sum case when 写法及拼接字段

    SUM(CASE WHEN condition THEN value ELSE 0 END) AS total FROM table; ``` 其中: - `condition` 是一个布尔表达式,如果为真,则执行 `THEN` 子句。 - `value` 是当 `WHEN` 条件为真时返回的值,通常是一个...

    sum(case when then)(判断男女生的个数)

    在SQL查询中,`SUM(CASE WHEN THEN)` 是一种非常有用的聚合函数,它允许我们根据特定条件对数据进行分类并求和。在这个场景中,它被用来计算一个类比班级中男生和女生的数量。让我们详细了解一下这个技术及其应用。 ...

    详细解析 mysql 中的 case when 语句的使用

    SUM(CASE WHEN download_type_id = 13 THEN 1 ELSE 0 END) AS count_13, SUM(CASE WHEN download_type_id = 14 THEN 1 ELSE 0 END) AS count_14, SUM(CASE WHEN download_type_id = 15 THEN 1 ELSE 0 END) AS ...

    casewhen多条件oracle-casewhen(casewhen同时满足多条件).pdf

    Oracle CASE WHEN 多条件语句详解 CASE WHEN 语句是 SQL 中的一种条件语句,用于实现多个条件的判断和执行。它可以用来代替 IF 语句和 SWITCH 语句,在 Oracle 数据库中尤其常用。 CASE WHEN 语句的基本语法是: `...

    SQL集合函数中case when then 使用技巧

    在SQL中,`CASE WHEN THEN` 语句用于条件判断,它可以用来转换或过滤数据,尤其是在聚合函数中,如 `COUNT()`, `SUM()`, `AVG()` 等。这个表达式允许我们在一个查询中根据不同的条件执行不同的操作。 在标题提到的...

    SQL利用Case When Then多条件判断

    sql 存储过程 常见的问题 自己用也可分享

    case when then语句用法

    该语句的执行过程是:将CASE后面表达式的值与各WHEN子句中的表达式的值进行比较,如果两者相等,则返回THEN后的表达式的值,然后跳出CASE语句,否则返回ELSE子句中的表达式的值。ELSE子句是可选项。当CASE语句中不...

    sql学习之CASE WHEN THEN ELSE END的用法

    在SQL语言中,`CASE WHEN THEN ELSE END`结构是一种强大的条件判断工具,它允许你在查询中根据特定条件执行不同的逻辑。这个结构可以在`SELECT`、`WHERE`、`HAVING`、`UPDATE`和`INSERT`等语句中使用,以实现复杂的...

    oracle where case when where后面跟case when

    WHERE salary > (CASE WHEN AVG(salary) IS NOT NULL THEN AVG(salary) ELSE 0 END); ``` 在这个例子中,`CASE WHEN`语句检查平均薪资是否为`NULL`,如果不是,则使用平均薪资作为比较值;如果是`NULL`,则使用0。 ...

    oracle case when 语句的用法详解

    1. CASE WHEN 表达式有两种形式 代码如下:–简单Case函数 CASE sex WHEN ‘1’ THEN ‘男’ WHEN ‘2’ THEN ‘女’ ELSE ‘其他’ END –Case搜索函数 CASEWHEN sex = ‘1’ THEN ‘男’ WHEN sex = ‘2’ ...

    ORACLE多条件统计查询的简单方法

    在描述中提到的方法,通过使用`CASE WHEN THEN ELSE END`语句,我们可以实现更简洁且高效的统计查询。 `CASE`表达式在SQL中是一个非常强大的工具,它允许我们在查询中进行条件判断。在Oracle中,`CASE`语句的基本...

    Oracle_case_when_用法

    ### Oracle CASE WHEN 用法详解 #### 一、概述 在 Oracle 数据库中,`CASE WHEN` 表达式提供了一种在 SQL 查询中实现条件判断的方法,这使得开发人员能够在不使用 PL/SQL 的情况下编写更为灵活和复杂的查询语句。`...

    mysql 语法工作积累

    #### MySQL 函数与 Case When Then 的应用 在数据库管理与查询过程中,MySQL 提供了丰富的内置函数以及灵活的控制结构,能够帮助开发者更高效地处理数据。本文将围绕 MySQL 中的一些常见函数,特别是 `CASE WHEN ...

    decode函数与case when 的妙用

    在数据库管理和SQL编程中,`DECODE`函数和`CASE WHEN`语句是两种非常重要的逻辑判断工具,它们常用于处理条件分支和数据转换。在这篇文章中,我们将深入探讨这两种方法的用途、区别以及如何巧妙地运用它们。 首先,...

    SQL__case_when_then_的用法

    SQL__case_when_then_的用法

    sql case when exists not exists in not in

    在SQL查询中,`CASE WHEN`、`EXISTS`、`NOT EXISTS`以及`IN`和`NOT IN`是常用的操作符,它们用于处理复杂的条件判断和数据筛选。这些概念对于理解和编写高效的SQL语句至关重要,尤其是在数据分析和数据库管理中。 `...

Global site tag (gtag.js) - Google Analytics