with T1 AS (查询1的查询语句)
,T2 AS(查询2的查询语句)
select ‘检测率’ as 监测点类型,
max(decode(CONS_NAME,'毒物',JCL)) 毒物,
max(decode(CONS_NAME,'粉尘',JCL)) 粉尘,
……
from T1
UNION ALL
select ‘超标点数’ as 监测点类型,
max(decode(CONS_NAME,'毒物',LXCBDS)) 毒物,
max(decode(CONS_NAME,'粉尘',LXCBDS)) 粉尘,
……
from T2
给你写了个大概,剩余的你自己补齐吧
ps:帖子发一次就行了,不需要重复发帖

解决方案 »

  1.   

    单引号改为英文的单引号 
    with T1 AS (查询1的查询语句)
    ,T2 AS(查询2的查询语句)
    select '检测率' as 监测点类型,
    max(decode(CONS_NAME,'毒物',JCL)) 毒物,
    max(decode(CONS_NAME,'粉尘',JCL)) 粉尘,
    ……
    from T1
    UNION ALL
    select '超标点数' as 监测点类型,
    max(decode(CONS_NAME,'毒物',LXCBDS)) 毒物,
    max(decode(CONS_NAME,'粉尘',LXCBDS)) 粉尘,
    ……
    from T2
      

  2.   

    Quote: 引用 4 楼 bw555 的回复:

    改了,可还是有错,,还是表达式必须具有对应表达式相同的数据类型,怎么办呢
      

  3.   

    jcl查询出来是char型的?lxcxds是number类型的?
    把语句中的LXCBDS改为to_char(LXCBDS)