问题标签 [correlated-subquery]
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 - 需要在只返回一行的外连接中创建表达式
我正在创建一个非常复杂的动态 sql,它必须为每个用户返回一行,但现在我必须加入一对多表。我做了一个外连接以确保我至少得到一行(并且可以检查 null 以查看该表中是否有数据)但我必须确保我只从这个外连接部分返回一行,如果有多个此用户的第二个表中的行。到目前为止,我想出了这个:(sybase)
子查询在一对多表中为该特定用户找到最小值。
这行得通,但是当表 1 和表 2 变得非常大时,我担心执行相关子查询会带来麻烦。有没有更好的办法?我正在努力想出一种方法来让加入来做到这一点,但我没有看到它。还说“where rowcount=1”或“top 1”对我没有帮助,因为我不是要修复上面的查询,而是将上面的内容添加到已经很复杂的查询中。
mysql - MySQL/SQL:使用更新表本身的相关子查询进行更新
我有一个通用问题,我将尝试用一个例子来解释。
假设我有一个包含以下字段的表格:“id”、“name”、“category”、“appearances”和“ratio”
这个想法是我有几个项目,每个项目都与一个类别相关并且“出现”了几次。比率字段应包括每个项目的出现占类别中项目出现总数的百分比。
在伪代码中,我需要的是以下内容:
对于每个类别
,找到与其相关的项目的出现总和。例如,可以使用 (select sum("appearances") from table group by category
)对于每个项目
,将比率值设置为项目的外观除以为上述类别找到的总和
现在我试图用一个更新查询来实现这一点,但似乎做不到。我认为我应该做的是:
但是 MySQL 不接受 update 列中的别名 T,我没有找到其他方法来实现这一点。
有任何想法吗?
sql - 如何避免重复冗长的相关子查询?
这是帮助您理解我的问题的代码:
我把注释 AND 强调这是一个简化的例子;我的真实查询中的子查询更复杂,条件更多。
我的问题是:我想避免在子查询中为两列 ( file_location and file_size
) 重复所有条件,因为条件完全相同。我很乐意使用公用表表达式(即使用 WITH 子句的子查询分解),但我不能因为WHERE mat.content_id = m.content_id
子查询中的“”,这使它成为一个相关的子查询。据我了解,不能使用 WITH 子句来考虑相关子查询。出于同样的原因,我也不能将此子查询作为内联视图(又名派生表)放在 FROM 子句中。
如何将条件包含一次并将多个列注入到具有相关子查询的结果集中?
sql - SQL Server 2005 - 嵌套递归查询:(
我有一个需要执行的查询,但我不知道如何构建。
我有一张名为员工的表。我还有另一张桌子叫公司。还有第三个表名为 Files。可以想象,公司有员工,员工有文件。
我需要列出我数据库中的所有员工。挑战是,我需要列出与员工在同一公司的文件总数。我已经尝试了以下变化,但没有任何运气:
我究竟做错了什么?谢谢!
mysql - MySQL:用 FROM 子句中的相关子查询重写 MSSQL?
我们有一个包含网站页面视图的表,例如:
在我们的生产表中,目前大约有 40K 行。我们希望每天生成过去 30 天、60 天和 90 天内查看的唯一页面的计数。因此,在结果集中,我们可以查找一天,并查看在该天之前的 60 天内访问了多少唯一页面。
我们能够让查询在 MSSQL 中工作:
注意:因为 MSSQL 没有 FROM_UNIXTIME 函数,所以我们添加了 NDATE 列进行测试,它只是转换后的time
. 生产表中不存在 NDATE。
将此查询转换为 MySQL 会给我们“未知列 P.time”错误:
我理解这是因为我们不能有一个引用外部 FROM 子句中的表的相关子查询。但是,不幸的是,我们不知道如何将此查询转换为在 MySQL 中工作。现在,我们只需从表中返回所有 DISTINCT 行并在 PHP 中对其进行后处理。40K 行大约需要 2-3 秒。当我们有 100 行中的 100 行时,我担心性能。
可以在 MySQL 中做吗?如果是这样,我们能否期望它比我们的 PHP 后处理解决方案执行得更好。
更新: 这是创建表的查询:
到目前为止,我们的生产表有大约 40K 行!
nhibernate - NHibernate 标准来查询具有至少一个子对象的父对象?
在我的项目中,Lines
可以进行分组,并且 aGroup
的类型可以是Crossing
(1) 或Parallel
(2)。我需要找到至少具有一组指定类型(在本例中为 1)的所有行。给定行的 Id 可以在列上LineA
或LineB
组上。这是我到目前为止的地方:
mysql - MYSQL 查询 TAKING 用户的参与地点和所有其他参与者的数量
我正在制作一个网站,用户可以在其中添加他们访问过的地方。
有4张主桌
现在我需要查询所有类型为 2 的地方,(where type=2)
其中给定用户参与(user_id=43 lets say)
的地方名称、城市名称和所有其他用户的数量也参与同一个地方......昨天带着一本关于 mysql 的书,我遇到了这样的事情
但它给出的错误:'where子句'中的未知列'places.place_id'并且仍然不知道我怎样才能巧妙地将地名和城市名称附加到结果中......如果可以请帮助......
sql - 在 Oracle 中子选择 Summed col
这是对水晶报告使用 2 个子报告的尝试修复!
我有一个连接 3 个表的查询,我想使用一对子选择来引入同一个新表。
这是脚本中两列中的第一列:
当这交付数据集时,“firstHyp”的值无法通过 pegstrip 值更改。它返回连接的单个总计,并且无法通过 pegstrip 按值放置正确的值。我认为 where 子句会逐行拾取连接。
我不经常使用 Oracle 语法,所以我在这里缺少什么?
TIA
c# - 是否可以在 LINQ 中创建相关子查询?
我想创建一个 LINQ 查询,该查询返回父帐户及其所有子帐户的给定产品编号的所有数量的总和。
我有一个按帐号列出的产品表,其中每一行还包含一个数量和父帐号:
这在纯 LINQ 语法中可能吗?我需要改用扩展方法语法吗?
谢谢,-基思
sql - 相关子查询的 MySql 范围问题
我有这个 Mysql 查询,它有效:
结果是:
它可以正常工作,但只有当我将我想要的 id 硬编码到查询中时(37)。我希望它适用于 m3allem 表中的所有条目,所以我试试这个:
我得到一个错误:
'where 子句'中的未知列'm.id'
为什么?从 MySql 手册:
那么......当子查询位于 SELECT 部分时,这不起作用吗?我没有读到任何关于它的东西。
有人知道吗?我应该怎么办?我花了很长时间来构建这个查询......我知道这是一个怪物查询,但它在一个查询中得到了我想要的,而且我非常接近让它工作!
任何人都可以帮忙吗?