问题标签 [full-outer-join]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
367 浏览

sql - 如何避免 SQL 中的子查询重复?

我想要用途 A 项目的最低价格和用途 B 项目的最高价格,而且我按区域对我的项目进行分组。

这个查询给出了我想要的输出,但我不喜欢它有两个原因:

1)我想要

只能调用一次。

2)当行来自我的完整外连接中的右表时,我得到 ZONE null 。

我该如何解决这些问题。

我的查询中还有其他问题吗?

0 投票
1 回答
157 浏览

sql-server-2008 - 在 TSQL 中,如何合并多组用户数据以获取每个用户一行包含所有数据的数据集?

假设我有十个用户数据表(在 10 个不同的系统中),并且任何用户都可以在这 10 个表中的零个或多个表中拥有记录。

连接查询会合并来自所有 10 个表的数据,这样它会生成一个结果集,每个用户一行,所有 10 个表中的列。对于每个用户的记录,没有该用户数据的表的列将为空。

我遇到的问题是,在用户名上对表 1 (t1) 和表 2 (t2) 执行完全联接后,我留下了一个结果集,其中 t1.Username 或 t2.Username 可能为空(对于例如,如果用户仅在 t1 中有记录,但在 t2 中没有记录,反之亦然)。由于任一用户名都可能为空,因此我应该将哪个用户名字段与 t3(和后续表)连接,而无需编写带有“或”条件的复杂“on”子句。

恐怕要干净地做到这一点的唯一方法是在每次加入后合并用户名,并将每个后续表加入到前面结果集的合并用户名字段中。

我的第一个选择如下所示:

然后我必须将 t3 加入 t3.Username = U2 上的结果集。但是,在我加入 t4 之前,我必须合并 t3.Username 和 U2 以获得 U3,所以我可以在 U3 上加入 t4.Username,依此类推。这似乎要求第一个 select 语句是查询中的子查询,该查询选择新的合并用户名,对于每个附加表,依此类推。查询的最终形式似乎必然是一系列嵌套的子查询。这是必须的,还是有其他方法可以做到这一点?

我不想做的是针对一个唯一用户名列表的一系列左连接,我通过合并所有 10 个表的用户名预先生成该列表。虽然这会起作用并且是一个非常干净的单级查询,但这 10 个表中的每一个的生成都是昂贵的,所以我不想预先生成它们只是为了像这里的答案一样提取唯一的用户名:https: //stackoverflow.com/a/9233478/88409

我还在这里看到了另一个讨论:http ://www.listserv.uga.edu/cgi-bin/wa?A2=ind1110b&L=sas-l&P=1445 ,它显示了 4 个不同版本的如何完成(其中第一个避免子查询),但它在 where 子句中使用合并,随着每个附加表的大小增加。

0 投票
4 回答
32542 浏览

sql - 在 PostgreSQL 中查找两个大表之间的差异

我在 Postgres 中有两个类似的表,只有一个 32 字节的拉丁字段(简单的 md5 哈希)。两个表都有约 30,000,000 行。表格差别不大(10-1000行不一样)

Postgres 是否可以找到这些表之间的差异,结果应该是我上面描述的 10-1000 行。

这不是一个真正的任务,我只是想知道 PostgreSQL 如何处理类似 JOIN 的逻辑。

0 投票
2 回答
45 浏览

sql - 合并多个表

假设有以下三个 PostgreSQL 表要与公共 ID 列合并。

我想将这三个表合并如下:

我感谢您的帮助!

0 投票
2 回答
13746 浏览

tsql - 全外连接不返回所有行?

我有一个包含多个日期的多条记录的表。

我试图查看“日期 1”和“日期 2”之间的区别,并且我的完整外部连接没有返回我期望的数据。

我知道日期 1 有 13278 行,日期 2 有 13282 - 因此我希望看到至少 13282 行,但我得到 13195 ......这是一个INNER JOIN(我测试过)。

我希望得到如下结果:

但这不会从任何一方获得任何空行?


这行得通 - 将连接的“键”组合在两个单独的选择语句中?


但这不 - 加入组合值 - 只有当它们是单独的表时?

0 投票
6 回答
90252 浏览

sql - Multiple FULL OUTER JOIN on multiple tables

I have multiple outer joins

Now the last join is having a problem, its repeating when month of A is more than B but if B has more month that A we have OUTER JOIN in C with month of A which now repeats, so I guess having a FULL OUTER JOIN within two table might solve the problem?? Any indepth links??

Sample Data(Incorrect)

Correct Data

0 投票
2 回答
5329 浏览

symfony - 我如何通过查询生成器在 symfony2 中使用完全外部联接?

我想通过 q​​ueryBuilder 函数使用完全外连接。对于左连接,我使用了以下代码:

但我不知道如何执行完全外连接!

0 投票
2 回答
188 浏览

sql - 左外连接,最终查询没有结果

我正在执行以下查询

我从 A 中获得了一条记录,而从 B 中没有记录。我期望在最终选择查询中有一条记录,但没有得到。

以下是一些示例数据:

一个

B、无数据显示:

我究竟做错了什么?我怎样才能做到这一点?

0 投票
2 回答
3668 浏览

sql - SELECT 查询合并/连接 PostgreSQL 中的两个表

如果有如下两个表:

表格1

表 2

选择查询可以按以下格式按升序返回数据吗?

结果

0 投票
1 回答
13481 浏览

sql - SQL Full Outer Join 在同一个表的同一列上

这可能更像是一个设计问题,但我希望没有太多巫术是可能的。

假设我有一个这样的表:

我想得到这样的东西(ID按列分组):

这可能吗?我试过以下查询...

...但我只得到公共节点:

我也尝试过使用 JOIN ON 和 WHERE,但似乎无法获得预期的结果。

我可以在网上找到的最接近的问题是this one,但我也无法让 UNION 工作。

性能不是问题,我可以假设只有 2 组。

有任何想法吗?