我有一个查询,它给了我两列,
select
name as name,
code as code
from
table1
UNION
select
name as name,
code as code
from
table2
如果从上面的查询中我没有得到一行,我想在结果中再应用一个并集 name as 'Default'
. 因此,如果上面的查询没有具有默认名称的记录,我需要与上面的查询再进行1个并集:
select
'Default' as name,
code as code
from
table1
where condition = condition
我尝试将第一个查询放在视图中,并在第二个查询中使用NotExists函数,但它给出了列NotFound错误。
2条答案
按热度按时间6tr1vspr1#
我就是这样理解这个问题的:1-9行代表样本数据;其中一行包含
Default
名称,因此结果查询应返回union
-按原样编辑结果:但是,如果没有
Default
在这些表格中(参见第7行中的更改),您将得到一个“额外的”Default
行:uujelgoq2#
当您有order by in union时,您需要将其放入视图中或使用select*from(。。订购方)