• oracle中列转行写法


    --查询为列的原始代码
    SELECT
    1 AS num, t.id, t.company_shorthand AS CountryCode FROM qhyscm.tab_base_company t WHERE t.company_type = '1' AND t.company_shorthand = 'EORLK' UNION ALL SELECT 2 AS num, t.id, t.company_shorthand AS CountryCode FROM qhyscm.tab_base_company t WHERE t.company_type = '2' AND t.company_shorthand = 'IORLK' UNION ALL SELECT 3 AS num, t.id, t.company_shorthand AS CountryCode FROM qhyscm.tab_base_company t WHERE t.company_type = '3' AND t.company_shorthand = 'SORLK' UNION ALL SELECT 4 AS num, t.id, t.company_shorthand AS CountryCode FROM qhyscm.tab_base_company t WHERE t.company_type = '4' AND t.company_shorthand = 'LK'

     列转行写法

    SELECT
        *
    FROM
        (
        SELECT
            1 AS num, t.id
        FROM
            qhyscm.tab_base_company t
        WHERE
            t.company_type = '1'
            AND t.company_shorthand = 'EORLK'
    UNION ALL
        SELECT
            2 AS num, t.id
        FROM
            qhyscm.tab_base_company t
        WHERE
            t.company_type = '2'
            AND t.company_shorthand = 'IORLK'
    UNION ALL
        SELECT
            3 AS num, t.id
        FROM
            qhyscm.tab_base_company t
        WHERE
            t.company_type = '3'
            AND t.company_shorthand = 'SORLK'
    UNION ALL
        SELECT
            4 AS num, t.id
        FROM
            qhyscm.tab_base_company t
        WHERE
            t.company_type = '4'
            AND t.company_shorthand = 'LK') pivot( max(id) FOR num IN ( 1 AS eor, 2 AS ior, 3 AS sor, 4 AS wl ) )
    ORDER BY
        1

  • 相关阅读:
    vue项目开发,用webpack配置解决跨域问题
    vue的插件使用
    getBoundingClientRect的实用场景
    vue的子组件不能进行router的切换
    HTTP协议
    Await/Async
    前端对于页面性能优化方面
    Generator的异步编程
    Iterator接口(遍历器)和for/of循环
    PyCharm快捷方式
  • 原文地址:https://www.cnblogs.com/wangquanyi/p/13999964.html
Copyright © 2020-2023  润新知