一口一个菠萝 2020-07-23 11:38 采纳率: 57.1%
浏览 66
已结题

Sql语句中,from后面跟查询结果,这个查询结果可以用union连接吗

A\B\C三个表,A表和B表中只有一个表可以查询到registno

select registno, status from A where registno = '123456';
select registno, status from B where registno = '123456';
select pumpid from C;

我如下这么写就报错

select a.registno, b.pumpid
from 
(select registno, status from A where registno = '123456'
union
select registno, status from B where registno = '123456') a
,outer prplcompensate b
where 
a.registno=b.registno
group by 1;

错误信息:

[Code: -999, SQL State: IX000]  Not implemented yet.  [Script position: 2976 - 2957]

是我语句有问题吗?

  • 写回答

3条回答 默认 最新

  • storm_huang 2020-07-23 11:57
    关注

    outer去掉,或者改成left outer join
    group by 1从查询结果看好像没啥作用

    select a.registno, b.pumpid
    from 
    (select registno, status from A where registno = '123456'
    union
    select registno, status from B where registno = '123456') a
    , prplcompensate b
    where 
    a.registno=b.registno
    group by 1;
    
    select a.registno, b.pumpid
    from 
    (select registno, status from A where registno = '123456'
    union
    select registno, status from B where registno = '123456') a
    left outer join prplcompensate b on a.registno=b.registno
    group by 1;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?