使用 Join 和 Union 组合来自 2 个表的结果 [关闭]
Posted
技术标签:
【中文标题】使用 Join 和 Union 组合来自 2 个表的结果 [关闭]【英文标题】:Using Join and Union to combine results from 2 tables [closed] 【发布时间】:2022-01-20 04:10:47 【问题描述】:我已经有一个使用来自多个主表的连接的结果集,其中 TABLE A 作为主表。现在我正在尝试在表 B 上执行联合,并保留来自主节点的连接。
这是我尝试过的查询:
select
t1.*
from
(select
id, mobile, email, pan
from a
union
select
b_id, mobile, email, pan
from b) as t1,
ci.status,
ab.desc
from
a
left join
cuI ci on ci.id = a.id
left join
abMaster ab on ab.id = a.id
where
a.id is not null
order by
a.created_on desc
这没用
【问题讨论】:
这不起作用不是对您的问题的非常准确的描述。 发生了什么?没有?选择了错误的数据?没有数据被选中?您是否收到错误 - 如果是:什么是那个错误? 我收到语法错误 在您的查询中有几个错误并且不清楚您的目标.. 然后更新您的问题添加适当的数据样本和预期结果 请了解 UNION 和 UNION ALL 之间非常显着的区别。一般来说,您应该默认使用 UNION ALL 以避免重复删除的成本(尤其是在不需要时)。 【参考方案1】:乍一看你有几个错误
某些列名ci.status, ab.descin
位置错误,
两个来自类
表 a 中的引用应该(可能)是对 t1 的引用
一个可能的有效查询可能是
select t1.* , ci.status, ab.desc
from
(select id, mobile, email, pan
from a
union
select b_id, mobile, email, pan
from b
) as t1
left join
cuI ci on ci.id = t1.id
left join
abMaster ab on ab.id = t1.id
where
t1.id is not null
order by
t1.created_on desc
【讨论】:
以上是关于使用 Join 和 Union 组合来自 2 个表的结果 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章