美文网首页
DB2中查询到重复字段处理

DB2中查询到重复字段处理

作者: 触手不可及 | 来源:发表于2021-07-08 11:50 被阅读0次

DB2中查询到重复字段处理

在项目中需要用到下拉框去后台查询数据,显示出来中文名称,传到后台的是名称代号。因为中文名称对应的代号有多个,所以这里需要对sql语句进行处理,在未处理之前,数据显示中文名称会有多个重复。

SELECT DISTINCT
        DEFECT_CODE ,
          CASE
                WHEN DEFECT_CODE='62'
                THEN 'XX'
                WHEN DEFECT_CODE='63'
                THEN 'XXXX'
                WHEN DEFECT_CODE='67'
                THEN 'XXXX'
                WHEN DEFECT_CODE='68'
                THEN 'XXXXXX'
                WHEN DEFECT_CODE='69'
                THEN 'XXXX'
                WHEN DEFECT_CODE='5'
                THEN 'XXXXXX'
                WHEN DEFECT_CODE='4'
                THEN 'XXXX'
                WHEN DEFECT_CODE='35'
                THEN 'XXXX'
                WHEN DEFECT_CODE='39'
                THEN 'XXXX'
                WHEN DEFECT_CODE='42'
                THEN 'XXXX'
                ELSE DEFECT_CNAME
            END AS "DEFECT_CNAME",
            DEFECT_CODE
        FROM
            BGTAMAQA.T_ADS_FACT_HR_DEFECT_STATISTICS
                where DEFECT_CNAME not in ('null')
            ORDER BY 
                DEFECT_CNAME ASC        
image.png

这样传到前台的话,下拉框中也会出现多个重复的中文名称,所以需要对取到的数据进行处理

SELECT
    DEFECT_CNAME AS "defect_cname",
    LISTAGG(DEFECT_CODE,',') AS "defect_code"
FROM
    (
        SELECT distinct
            CASE
                WHEN DEFECT_CODE='62'
                THEN 'XX'
                WHEN DEFECT_CODE='63'
                THEN 'XXXX'
                WHEN DEFECT_CODE='67'
                THEN 'XXXX'
                WHEN DEFECT_CODE='68'
                THEN 'XXXXXX'
                WHEN DEFECT_CODE='69'
                THEN 'XXXX'
                WHEN DEFECT_CODE='5'
                THEN 'XXXXXX'
                WHEN DEFECT_CODE='4'
                THEN 'XXXX'
                WHEN DEFECT_CODE='35'
                THEN 'XXXX'
                WHEN DEFECT_CODE='39'
                THEN 'XXXX'
                WHEN DEFECT_CODE='42'
                THEN 'XXXX'
                ELSE DEFECT_CNAME
            END AS "DEFECT_CNAME",
            DEFECT_CODE
        FROM
            BGTAMAQA.T_ADS_FACT_HR_DEFECT_STATISTICS
        WHERE
            DEFECT_CNAME NOT IN ('null')
        ORDER BY
            DEFECT_CNAME ASC )
GROUP BY
    DEFECT_CNAME
image.png

这样,前端得到的中文名称就不会重复了,之后使用查询的时候,在查询条件中使用字段代号in数据,就可以进行查询

相关文章

  • DB2中查询到重复字段处理

    DB2中查询到重复字段处理 在项目中需要用到下拉框去后台查询数据,显示出来中文名称,传到后台的是名称代号。因为中文...

  • MySQL索引

    索引创建时,要考虑到字段的重复性,重复越少的字段,索引查询的速度就越快, 2,对于多个and连接的查询条件,可以考...

  • 关于表中重复数据的处理--MySQL

    表结构及数据如下 一. 根据字段查询表中重复的数据1.根据字段test1,test2,查询表中重复的数据 2.根据...

  • mysql查询字段重复的记录

    查询出users表中name字段有重复的 name及重复次数

  • Mysql查询某字段值重复的数据

    查询user表中,user_name字段值重复的数据及重复次数

  • 常用sql语句

    查询出表中每个字段全部重复了的数据

  • MYSQL——DQL查询语言

    DQL查询语句 语法 基础查询 查询单个字段 查询多个字段 去掉重复 注意去除重复的需要结果集完全相同才能进行去除...

  • 常用sql语句

    数据的准备 查询所有字段 查询指定字段 使用 as 给字段起别名 通过 as 给表起别名 消除重复行 条件查询 逻...

  • SQL之更删改查

    查询 单表查询 查询所有字段 查询指定字段 WHERE条件查询 下面的运算符可在 WHERE 子句中使用: 去重复...

  • SQL删除重复数据记录

    问题背景: 删除一张表中记录重复的数据,保证数据不重复(通过两个字段查询到的数据是不重复的)。 个人解决思路: ...

网友评论

      本文标题:DB2中查询到重复字段处理

      本文链接:https://www.haomeiwen.com/subject/uqazultx.html