我有一个A表和B表,B表有8条,A表有3条,B表包含A表的2条,我想返回结果是11条,结果只返回了共同的哪2条,但是hologres返回只有两条用的full join
根据你的描述,你希望在使用FULL JOIN连接A表和B表时返回总共11条记录,但实际上只得到了2条记录。这意味着FULL JOIN可能没有按照你的预期工作。下面是一些可能的原因以及解决方法:
FULL JOIN会返回所有匹配的记录,以及两个表中没有匹配项的所有记录。如果A表和B表之间存在关联字段(假设为id
),并且A表中有三条记录,B表中有八条记录,其中两条记录在A表和B表中都有对应,则:
如果你期望得到11条记录,那么可能的结果应该是:
这样加起来就是11条记录。
如果你只得到了2条记录,那么可能是以下原因造成的:
这里是一个基本的示例SQL语句,用于演示如何进行FULL JOIN:
SELECT
a.*, b.*
FROM
A a
FULL JOIN
B b
ON
a.id = b.id;
如果你已经确认了上述问题仍然无法解决问题,你可以尝试以下步骤:
COUNT(*)
,看看每部分(匹配的、仅A表的、仅B表的)有多少记录。如果你能提供具体的SQL语句或者更多上下文信息,我可能能提供更具体的帮助。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
本技术圈将为大家分析有关阿里云产品Hologres的最新产品动态、技术解读等,也欢迎大家加入钉钉群--实时数仓Hologres交流群32314975