【发布时间】:2019-06-25 15:29:45
【问题描述】:
我是 SQL 领域的新手(我的问题可能很容易解决)。 另外,我只在 Access 上工作。
我是法国人,我知道我很难解释,所以之后我会给你一个演示。 我有两张桌子,A和B。 两者都有一个列 id 并且 B 的所有 id 都在 A 中(但是 B 有不同的列) 我想加入他们,当然,基于 id,当有匹配的 id 时,获得一个包含 A 加 B 的表。 因此结果必须具有与表 A 完全相同的行数。
Table A
id - value1 - value2
1 0.5 0.6
2 0.4 0.9
3 0.4 1
4 0.8 1
Table B
id - name1 - name2
1 az at
4 df ml
Result:
id- value1- value2 - name1- name2
1 0.5 0.6 az at
2 0.4 0.9
3 0.4 1
4 0.8 1 df ml
当 A 的元素不在 B 中时,我仍然需要在结果中包含它们,在缺少信息的列中具有空值。 如果你看不懂我的英文,看demo就行了,一目了然
我尝试自己编写一个 FULL OUTER JOIN(因为它在 Access 中不存在),但我得到的结果是一个包含很多重复项的表。 我也尝试了很多 JOIN,但我总是得到一个比 A 行多得多的表
提前致谢:)
【问题讨论】:
-
使用左外连接
-
嗨。在考虑发布之前,请始终在谷歌上搜索任何错误消息以及您的问题/问题/目标的许多清晰、简洁和准确的措辞,包括和不包括您的特定字符串/名称;阅读许多答案。如果您发布问题,请使用一个短语作为标题。例如:谷歌搜索甚至 'site:stackoverflow.com sql 连接结果,在缺少信息的列中具有空值'会给出问题标题,其中明确预期称为“左连接”的东西应该返回空值。此外,如果您阅读过关于所有连接的任何介绍的部分,那么您会发现左外连接。