问题标签 [right-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 投票
1 回答
61 浏览

mysql - Issues with mixed join query in MySQL 5.5 though worked in MySQL 4.1.25

This is a bit confusing so bear with me.

I have 3 tables:

tbl ps is used to link records from p to s - p can be combined with more than one 's' record, hence the linking table.

In MySQL 4.1.25, I used the following query to retrieve all the data, including where 'p' didnt have a corresponding 's' record, even if 'p' wasn't linked at all:

This worked fine and correctly returned:

Now, however, the same query in MySQL 5.5 is producing this:

As you can see, any 'p' record that does NOT appear in ps, is returned as a null value. It almost looks as though it may be favoring the right join over everything else.

Any thoughts on what changed here and how I can rectify it?

Unfortunately, the corrected query must work in both versions of MySQL - which is becoming more and more of a pain for me to be honest, but nothing I can do about it. Obviously, efficiency is key as theses tables contain 100's of records (ps contains 1000's) and I need to get the same result set in a little steps as possible.

Thanks for your time folks!

0 投票
2 回答
104 浏览

sql - 带有约束列的sql左外连接

这是 SQL,“aal_county_zip”有 2 个邮政编码的条目,而“us_zip”有 15 个邮政编码。要求是获得 15 行,其中只有 2 行具有来自“aal_county_zip”的数据。它的工作方式与普通连接一样。如何更改 SQL/表结构以使其正常工作。我还想添加下面评论的条件。

0 投票
3 回答
569 浏览

mysql - mysql三表连接结果空集

您好,我已经加入了三个表,但即使假设有一些结果,它也会返回空结果。这是我的sql

我期待的结果是这样的:

但是我的结果是空的,这是因为第二个临时信息是 0?如果行为空,我如何获得上面的所有信息,那么它可能是空白的,但我需要与它相关的其他信息。

这是我的表架构:

eod_stock:

分红信息:

请你能帮我找出结果吗?

0 投票
3 回答
78 浏览

sql - SQL 连接后更新列

我正在使用 Select 和 Right Join SQL 函数将所有数据调用到一个表中。仅当分配表上的 ans_primary = '1' 时才会填充被调用的数据。如果 asn_primary = '1' 那么它将连接两个表的 att_id = att_id 上的所有以下列。

使用的两个表和列如下:

分配(att_id、itm_id、asn_primary)

附件(att_id、att_name、att_type、att_path、att_path2、att_path3)

调用后,我需要能够更新 att_name 列中的所有字段。我不确定在使用 Join 调用后如何更新列。

在调用/加入信息后我需要运行的 SQL 是:

0 投票
3 回答
1069 浏览

sql - 左连接和右连接如何在关系代数中工作

如果我有两张桌子

然后我做R outer join S。我试图弄清楚结果。如果我尝试使用 sql 代码,我会这样做:

该查询的结果是:

如果我尝试手动解决它:

比赛3 11 3 3

比赛2 33 0 0

比赛2 0- - -

比赛3 33 0 0

比赛1 11 3 3

这使得上面的前 5 行成为该结果。剩下的两行来自右连接。但我不明白的是为什么正确的连接会产生

因为在左边加入2 0不匹配任何东西,但b列被保留并且 0 在那里。

但是在右连接中,2 2 3and2 2 0与任何内容都不匹配,但 b 列变成了空值。不应该像左连接一样保留 b 列吗?

谁能解释这里发生了什么?

谢谢。

0 投票
3 回答
2066 浏览

sql - SQL Oracle 中的自联接;为什么右外连接不能保留表的所有值

我不明白为什么右外连接(下面的例子)没有像左外连接那样给出表的完整数据集;因为外连接总是保留对应表的行。

创建表

create table join_test
(id number unique not null, name varchar2(10), department varchar2(10));

填充表

select * from join_test;

内部联接

select j1.name, j1.department
from join_test j1 join join_test j2
on(j1.department=j2.department and j1.name<>j2.name);

左外连接

select j1.name, j1.department
from join_test j1 left join join_test j2
on(j1.department=j2.department and j1.name<>j2.name)

右外连接

select j1.name, j1.department
from join_test j1 right join join_test j2
on(j1.department=j2.department and j1.name<>j2.name)

将选择列表更改为 j2

select j2.name, j2.department
from join_test j1 right join join_test j2
on(j1.department=j2.department and j1.name<>j2.name)

0 投票
1 回答
83 浏览

mysql - 如何组合多个不同行的 MySQL 表?

我需要从几个定期更新库存的仓库中汇总数量。这些文件会自动加载到我的 MySQL 数据库中的表中,但有时一个仓库的文件可能比其他仓库多或少。我需要将它们全部添加以确定整个网络可用的总量。

我的想法是:

等通过所有加入的仓库:

等通过所有仓库

我不能使用 LEFT JOIN 或 RIGHT JOIN,因为有时一个仓库可能缺少条目,有时另一个可能。如果一个分支的文件中缺少一个 sku,我希望仍然将其他分支添加在一起,并且只获得一个 NULL,它将由 SELECT 中的函数转换为 0。当我测试不同的连接解决方​​案时,我似乎也得到了笛卡尔行数,这让我更加困惑。非常感谢任何指导。

稍微澄清一下:我们需要加入 17 个表。我们并不真正关心列的总和,而是更关心单个值。例如,一个表可能表示项目 a、b、c、d 的列表,并列出数量为 1、2、3、4。我们会从几个不同的仓库中获得该表,并且我们需要找到整个网络的总数。如果四个仓库具有这些值,我们希望看到 a、b、c、d 和 4、8、12、16 作为可用总数的值。

0 投票
1 回答
71 浏览

sql-server - SQL:左连接的结果左连接左连接左/右连接

当您有 3 个以上的表时,例如 table1 [1a,1b]、table2[2a,2b] 和 table3 [3a,3b]

如果我有:

结果,首先我将拥有每个 table1.id

那么table2与table1匹配的所有元组,以及table1中在table2中没有匹配的元组在table2.id中都是空的。

假设这些是匹配项*

在这里告诉我我是否弄错了

然后,左连接和右连接与 table3 有什么关系?:/

编辑:我忘了,3a 将与 2a 和 2b 匹配,而 3b 则两者都不匹配。

0 投票
5 回答
139 浏览

sql - 为什么这个查询不能正常工作?

我的MasterSales桌子看起来像这样

我的Category桌子看起来像这样

我的查询如下所示:

我想要的结果是这样的:

但我得到的结果是这样的:

我已经尝试过使用RIGHT JOIN而不是LEFT JOIN切换 table onFROM子句,但结果仍然相同。谁能帮我解释一下为什么它不能正常工作?

PS:我使用的是 SQL Server 2005(如果重要的话)

0 投票
2 回答
901 浏览

sql - SQL INNER JOIN 不重复

获取下一张表:

  • Column1 - OrderID - 来自 Column2 的客户的最早订单
  • Column2 - CustomerID - 来自 Column1 订单的客户
  • Column3 - OrderID -来自 Column2 且未出现在 Column1 中的所有*Other* 客户订单

这是我的查询,我正在寻找一种应用上述规则的方法:

提前致谢