问题标签 [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 投票
4 回答
48177 浏览

sql - 使用 SQLite 进行全外连接

SQLite 只有 INNER 和 LEFT JOIN。

有没有办法用 SQLite 进行 FULL OUTER JOIN?

0 投票
5 回答
37975 浏览

c# - 如何在 Linq 中进行完全外部联接?

我继承了一个设计不完全优化的数据库,我需要处理一些数据。让我对我必须做的事情做一个更常见的类比:

假设我们有一张Student桌子,一张StudentClass记录他参加过的所有课程的StudentTeacher表格,还有一张存储所有教过这个学生的老师的表格。是的,我知道这是一个愚蠢的设计,将教师存储在 Class table 上会更有意义——但这就是我们正在使用的。

我现在想清理数据,我想找到一个学生有老师但没有班级,或者有班级但没有老师的所有地方。SQL因此:

你如何在 Linq 中做到这一点?

0 投票
4 回答
19545 浏览

sql - 如何在没有完全外连接可用的情况下进行完全外连接

上周我惊讶地发现 sybase 12 不支持完全外连接。但我突然想到,完全外连接应该与左外连接与同一 sql 的右外连接联合起来相同。谁能想到这不成立的原因?

0 投票
4 回答
1015 浏览

sql - 在一个普通表上加入,你如何获得一个 FULL OUTER JOIN 来扩展另一个表?

我已经在 StackOverflow 和 Google 上搜索过这个问题的答案。

我正在尝试创建一个 Microsot SQL Server 2008 视图。不是存储过程。不是函数。只是一个查询(即一个视图)。

我有三张桌子。第一个表定义了一个公共键,比如“CompanyID”。其他两个表有一个有时很常见的字段,比如“EmployeeName”。

我想要一个表结果,当我的 WHERE 子句说“WHERE CompanyID = 12”时,它看起来像这样:

我尝试了一个看起来像这样的 FULL OUTER JOIN:

我只从一个匹配的表中获取 NULL,我没有得到另一个表的扩展。在上面的示例中,我基本上只得到第一行和第三行,而不是第二行。

有人可以帮我创建这个查询并告诉我这是如何正确完成的吗?

顺便说一句,我已经有一个看起来非常干净并填充内存表的存储过程,但这不是我想要的。

谢谢。

- 编辑:

这是当前不起作用的完整示例(缺少“某人 2”和“某人 3”。

结果:

我想要的是:

0 投票
10 回答
260913 浏览

sql-server - SQL Server:CROSS JOIN 和 FULL OUTER JOIN 有什么区别?

SQL Server 中的 CROSS JOIN 和 FULL OUTER JOIN 有什么区别?

它们是否相同?请解释。什么时候会使用其中任何一种?

0 投票
2 回答
91 浏览

sql - 让我们,uk 在一张桌子上,cn 和 jp 在另一张桌子上,但不是 br 在这两张桌子上

在国语中,

以国名,

“内部联接通过从联接表中选择匹配行的组合来产生结果。但是,它找不到不匹配的”

“左连接将左表(第一个命名)视为参考表,并为从中选择的每一行生成输出,无论该行是否与右表中的行匹配”

获取我们,uk,cn 和 jp,但不是 br:

  • 内部连接无法找到不匹配项(br <> br 不起作用)。
  • 外连接会在一个中找到所有(us 和 uk)或在另一个中找到所有(cn 和 jp)。

你使用两个外连接吗?

0 投票
1 回答
1095 浏览

sql - 用于连接父子审计表的 Postgres SQL

我们正在使用“每个受监控表的 1 个审计表”设计;但是,在我们的例子中,emp(PARENT)表有一个子表emp_address也需要监控,所以我们有emp_auditand emp_addr_audit tables

postgres 审计 SQL:如何连接 PARENT 和 CHILD 表以进行报告。

我们使用 hibernate(java) 进行持久化,hibernate 只更新那些在更新操作中修改了列的表。鉴于此,我可能在 emp_addr_audit 表中有多个(比如 5)行,而 emp_audit 表中有 1 行。反之亦然。

每个事务(修改)报告需要 1 行。该报告将包含以下列

empname、line1、操作(插入/删除/更新)、更新时间

让我们考虑 2 个场景来了解需要什么:

  1. 在初始事务中,仅emp创建属性。然后在一个单独的事务中,创建相应的行emp_addr。所以,现在,我们在表格中有 1 行,在emp_audit表格中有 1 行emp_addr_audit。该报告将有 2 行(每笔交易一行)。
  2. emp和属性都是emp_addr在单个事务中创建的。这将确保 1 行 inemp_audit和 1 行 in emp_addr_audit。现在,报告将只有 1 行(因为两个表行都是在单个事务中创建的)。

场景
事务 #1:我在 emp 和 emp_addr 中都插入了一行。这导致 emp_audit 和 emp_addr_audit.(INSERT)
Transaction #2 中各有一行:我更新了上面的 emp' 属性。这会在 emp_audit 中产生一个 UPDATE 行。
事务 #3:我更新了上述 emp_addr 的属性。这会在 emp_addr_audit 中产生一个 UPDATE 行。

我尝试了以下 SQL #1,它返回了 3 行(如预期的那样);

SQL #1

但是,当我where在 SQL 中添加一个子句时,它只返回 2 行。丢失的行是事务 #3 的结果,其中只有 emp_addr 表行已更新,而 emp 表行未受影响。
SQL #2

什么 SQL仍然能够为 3 个事务获取 3 行,以便我仍然可以根据 empnum 过滤掉?

0 投票
3 回答
27706 浏览

sql - MySQL:FULL OUTER JOIN - 如何合并一列?

我有一个关于 MySQL 中的 FULL OUTER JOIN 的问题。我有两个(或更多表):

我已使用此查询来获取我的加入:

要得到:

我的问题是我没有设法同时将两个 id 列折叠成一列来得到这个:

关于如何做的任何建议?

0 投票
5 回答
22136 浏览

mysql - MySQL FULL JOIN 不工作,但 RIGHT 和 LEFT 加入工作

这让我发疯了。我有两个表,我正在尝试执行连接,usersXstats 和 usersXstats_alltime。

两个表具有相同的列:id、userId、statId 和 value

我想做的是

然而,这正在回归

当用 LEFT JOIN、RIGHT JOIN 或 INNER JOIN 替换 FULL JOIN 时,此查询的工作方式与预期一样。

为了便于阅读,我编写了以下查询:

它返回了一个不同的错误:

check the manual that corresponds to your MySQL server version for the right syntax to use near 'FULL JOIN usersXstats_alltime as uxsat ON uxs.userId=uxsat.userId AND uxs.statId' at line 1

我到底做错了什么?提前致谢!

0 投票
15 回答
898477 浏览

sql - 如何在 MySQL 中进行 FULL OUTER JOIN?

我想在 MySQL 中进行完全外部联接。这可能吗?MySQL是否支持完全外连接?