问题标签 [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.
sql - 使用 SQLite 进行全外连接
SQLite 只有 INNER 和 LEFT JOIN。
有没有办法用 SQLite 进行 FULL OUTER JOIN?
c# - 如何在 Linq 中进行完全外部联接?
我继承了一个设计不完全优化的数据库,我需要处理一些数据。让我对我必须做的事情做一个更常见的类比:
假设我们有一张Student
桌子,一张StudentClass
记录他参加过的所有课程的StudentTeacher
表格,还有一张存储所有教过这个学生的老师的表格。是的,我知道这是一个愚蠢的设计,将教师存储在 Class table 上会更有意义——但这就是我们正在使用的。
我现在想清理数据,我想找到一个学生有老师但没有班级,或者有班级但没有老师的所有地方。SQL因此:
你如何在 Linq 中做到这一点?
sql - 如何在没有完全外连接可用的情况下进行完全外连接
上周我惊讶地发现 sybase 12 不支持完全外连接。但我突然想到,完全外连接应该与左外连接与同一 sql 的右外连接联合起来相同。谁能想到这不成立的原因?
sql - 在一个普通表上加入,你如何获得一个 FULL OUTER JOIN 来扩展另一个表?
我已经在 StackOverflow 和 Google 上搜索过这个问题的答案。
我正在尝试创建一个 Microsot SQL Server 2008 视图。不是存储过程。不是函数。只是一个查询(即一个视图)。
我有三张桌子。第一个表定义了一个公共键,比如“CompanyID”。其他两个表有一个有时很常见的字段,比如“EmployeeName”。
我想要一个表结果,当我的 WHERE 子句说“WHERE CompanyID = 12”时,它看起来像这样:
我尝试了一个看起来像这样的 FULL OUTER JOIN:
我只从一个匹配的表中获取 NULL,我没有得到另一个表的扩展。在上面的示例中,我基本上只得到第一行和第三行,而不是第二行。
有人可以帮我创建这个查询并告诉我这是如何正确完成的吗?
顺便说一句,我已经有一个看起来非常干净并填充内存表的存储过程,但这不是我想要的。
谢谢。
- 编辑:
这是当前不起作用的完整示例(缺少“某人 2”和“某人 3”。
结果:
我想要的是:
sql-server - SQL Server:CROSS JOIN 和 FULL OUTER JOIN 有什么区别?
SQL Server 中的 CROSS JOIN 和 FULL OUTER JOIN 有什么区别?
它们是否相同?请解释。什么时候会使用其中任何一种?
sql - 让我们,uk 在一张桌子上,cn 和 jp 在另一张桌子上,但不是 br 在这两张桌子上
在国语中,
以国名,
“内部联接通过从联接表中选择匹配行的组合来产生结果。但是,它找不到不匹配的”
“左连接将左表(第一个命名)视为参考表,并为从中选择的每一行生成输出,无论该行是否与右表中的行匹配”
获取我们,uk,cn 和 jp,但不是 br:
- 内部连接无法找到不匹配项(br <> br 不起作用)。
- 外连接会在一个中找到所有(us 和 uk)或在另一个中找到所有(cn 和 jp)。
你使用两个外连接吗?
sql - 用于连接父子审计表的 Postgres SQL
我们正在使用“每个受监控表的 1 个审计表”设计;但是,在我们的例子中,emp(PARENT)
表有一个子表emp_address
也需要监控,所以我们有emp_audit
and emp_addr_audit tables
。
postgres 审计 SQL:如何连接 PARENT 和 CHILD 表以进行报告。
我们使用 hibernate(java) 进行持久化,hibernate 只更新那些在更新操作中修改了列的表。鉴于此,我可能在 emp_addr_audit 表中有多个(比如 5)行,而 emp_audit 表中有 1 行。反之亦然。
每个事务(修改)报告需要 1 行。该报告将包含以下列
empname、line1、操作(插入/删除/更新)、更新时间
让我们考虑 2 个场景来了解需要什么:
- 在初始事务中,仅
emp
创建属性。然后在一个单独的事务中,创建相应的行emp_addr
。所以,现在,我们在表格中有 1 行,在emp_audit
表格中有 1 行emp_addr_audit
。该报告将有 2 行(每笔交易一行)。 emp
和属性都是emp_addr
在单个事务中创建的。这将确保 1 行 inemp_audit
和 1 行 inemp_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 过滤掉?
sql - MySQL:FULL OUTER JOIN - 如何合并一列?
我有一个关于 MySQL 中的 FULL OUTER JOIN 的问题。我有两个(或更多表):
我已使用此查询来获取我的加入:
要得到:
我的问题是我没有设法同时将两个 id 列折叠成一列来得到这个:
关于如何做的任何建议?
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
我到底做错了什么?提前致谢!
sql - 如何在 MySQL 中进行 FULL OUTER JOIN?
我想在 MySQL 中进行完全外部联接。这可能吗?MySQL是否支持完全外连接?