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

sql - 您如何使用连接执行 AND?

我有以下数据结构和数据:

我想找到其他 1 和 2 的父记录。

这是我想出来的,但我想知道是否有更好的方法:

结果是 1,“父 1”是正确的。问题是,一旦你得到一个超过 5 个连接的列表,它就会变得混乱,并且随着关系表的增长,它会变得很慢。

有没有更好的办法?

我正在使用 MySQL 和 PHP,但这可能非常通用。

0 投票
2 回答
14094 浏览

c# - 左外连接并存在于 Linq To SQL C# .NET 3.5

我一直在翻译从 LINQToSQL 返回唯一父行的左外连接。

我有 2 个表(Project、Project_Notes,它是由 Project_ID 链接的一对多关系)。我正在对 2 表的多个列进行关键字搜索,如果 Project_Notes 中的列包含关键字,我只想返回唯一的项目。我有这个 linqtoSQl 序列,但它似乎返回多个项目行。也许以Exist某种方式在 LINQ 中做一个?或者也许是某种groupby?

这是 LINQToSQL:

这是它从分析器生成的 SQL

exec sp_executesql N'SELECT [t2].[Title], [t2].[State], [t2].[PROJECT_ID], [t2].[PROVIDER_ID], [t2].[CATEGORY_ID], [t2].[ City], [t2].[UploadedDate], [t2].[SubmittedDate], [t2].[Project_Type]FROM (SELECT ROW_NUMBER() OVER (ORDER BY [t0].[UploadedDate]) AS [ROW_NUMBER], [ t0].[Title], [t0].[State], [t0].[PROJECT_ID], [t0].[PROVIDER_ID], [t0].[CATEGORY_ID], [t0].[City], [t0] .[UploadedDate], [t0].[SubmittedDate], [t0].[Project_Type] FROM [dbo].[PROJECTS] AS [t0] LEFT OUTER JOIN [dbo].[PROJECT_NOTES] AS [t1] ON 1=1 WHERE ([t1].[NOTES] LIKE @p0) AND ([t0].SubmittedDate] >= @p1) AND ([t0].[SubmittedDate] < @p2) AND ([t0].[PROVIDER_ID] = @ p3) AND ([t0].[CATEGORY_ID] IS NULL)) AS [t2] WHERE [t2].[ROW_NUMBER] @p4 + 1 AND @p4 + @p5 ORDER BY [t2].[ROW_NUMBER]',N '@p0 varchar(9),@p1 日期时间,@p2 日期时间,@p3 int,@p4 int,@p5 int',@p0='%chicago%',@p1=''2000-09-02 00:00:00:000'',@p2=''2009-03 -02 00:00:00:000'',@p3=1000,@p4=373620,@p5=20

此查询在结果中返回 1 对多关系的所有复数。我从这里找到了如何Exists在 LINQ 中进行操作。http://www.linq-to-sql.com/linq-to-sql/t-sql-to-linq-upgrade/linq-exists/

这是使用的 LINQToSQL Exists

生成的 SQL 语句:

exec sp_executesql N'SELECT COUNT(*) AS [value] FROM [dbo].[PROJECTS] AS [t0] WHERE (EXISTS(SELECT NULL AS [EMPTY] FROM [dbo].[PROJECT_NOTES] AS [t1] WHERE ([ t1].PROJECT_ID] = ([t0].[PROJECT_ID])) AND ([t1].[NOTES] LIKE @p0))) AND ([t0].[SubmittedDate] >= @p1) AND ([t0] .[SubmittedDate] < @p2) AND ([t0].[PROVIDER_ID] = @p3) AND ([t0].[CATEGORY_ID] IS NULL)',N'@p0 varchar(9),@p1 datetime,@p2日期时间,@p3 int',@p0='%chicago%',@p1=''2000-09-02 00:00:00:000'',@p2=''2009-03-02 00:00: 00:000'',@p3=1000

databind()从使用Exists.

0 投票
1 回答
2403 浏览

sql-server - PRE ANSI-92 左连接语法 (Sybase)

当 Where 子句的一部分具有“等于某个常数”条件时,使用 ANSI-92 之前的语法(即 *=)指定左连接的语法是什么?(在这种情况下 100 是常数)

例子:

在这种情况下,我想要派生表“t”中的所有记录,即使“t1”没有匹配项。当“t”中不存在 SeqNo 上的匹配行时,我希望 t1.ID 在 Select 子句中返回 NULL。

我收到的错误是“外连接的两个术语都必须包含列”。

我现在在 SQL Server 2005 中执行此查询,但它最终将用于 Sybase 实现,这需要旧的连接语法。

提前致谢

0 投票
5 回答
282 浏览

sql - 与 FROM 中的其他一些表进行外部联接

那么,如何在这些表之间添加 JOIN 呢?我需要一个左连接,比如:

Obs: Table1 和 Table2 我刚刚添加解释

谢谢。


我必须使用 UNION 吗?

0 投票
2 回答
10012 浏览

.net - LINQ to SQL 执行联合和左外连接

我有 3 张桌子。2 包含我需要执行 UNION 以获取所有唯一文件的文件列表,然后我想对第三个表进行左外连接以查找仅在第三个表中而不在另一个表中的所有文件2.

要执行 UNION,我有以下内容:

现在,要仅在第三个表中获取文件,我将执行左外连接:

我了解如何简单地针对 ONE 表进行左外连接,但是如何将第一个查询的结果集放入左外连接?基本上,我不想对 ImagesT1 进行左外连接,而是想对 imageUnion 结果进行操作。

谢谢!

0 投票
3 回答
2405 浏览

tsql - 使用左连接和表变量删除

也许我缺少一个括号或其他东西,但我很难从我要加入的表变量中删除行并寻找我要加入的键。如果它有价值,那么我就摆脱它。问题是我无法解析查询。有任何想法吗?

0 投票
4 回答
213 浏览

mysql - 如何在 1 个查询中以 1:n 关系计算两个表中的所有记录?

我猜这是一个相当简单的问题,但我已经多次遇到这个问题,我无法通过搜索(也许我不知道要搜索什么)或反复试验找到解决方案。

我有以下表结构和数据:

如您所见, id 2 intable_b未使用 intable_a并且 id 3 intable_a的值为 0 table_b_id。我想要做的是检索 b 中每个值在 中使用的次数的计数table_a,包括 2 fromtable_b和所有不在中的值的计数table_b

我想出了以下查询:

但它显然只返回以下内容:

如何仅使用 SQL 获得以下信息:

我正在使用 MySQL。我猜答案很简单。

编辑:除了联合查询之外没有其他方法吗?

0 投票
3 回答
4077 浏览

django - django左加入

我有一点左连接问题。我有以下型号

我需要获取所有服务器实例,如果有的话,我需要将 CommandInfo 加入其中。

现在我正在使用原始 sql

0 投票
5 回答
18656 浏览

entity-framework - 实体框架 - Linq 到实体 - 多对多查询问题

我在 Linq To Entities 中查询多对多关系时遇到问题。我基本上是在尝试使用 Linq 复制此查询:

我环顾网络,并没有真正找到任何合适的例子来说明如何做到这一点。我得到的最接近的是:

这样做的问题是,如果客户有多个兴趣并且其中一个是“足球”,那么所有这些都会被退回。我还查看了具有逆问题的 All(),即只有当他们有一个兴趣并且是足球时才会返回,如果他们有两个并且其中一个不是足球,则不会返回任何内容。

有人有什么想法吗?

0 投票
8 回答
10512 浏览

sql - 太多的左连接是代码味道吗?

例如,如果您在查询中有 > 5 个左连接,那么代码有味道......

  • 你的设计有问题吗?
  • 你在一个查询中做的太多了吗?
  • 你的数据库太规范了?