问题标签 [derived-table]
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.
mysql - 使用大 IN() 子句优化 MySQL 查询或连接派生表
假设我需要查询一家公司的员工。我有一个表格,“交易”,其中包含每笔交易的数据。
查询此表中的员工相当简单,但有一个转折点:每个员工注册一次交易记录,因此每个订单可能有多个记录用于一个公司。
例如,如果公司 1 的员工 A 和 B 都参与向公司 2 出售吸尘器,则“交易”表中将有两条记录;每个员工一个,公司 1 两个。不过,这一定不会影响结果。来自公司 1 的交易,无论涉及多少员工,都必须被视为一项交易。
容易,我想。我将在派生表上进行连接,如下所示:
该查询返回与公司 1 进行交易的公司列表。这正是我所需要的,但它非常慢,因为 MySQL 无法使用公司 ID 索引来确定派生表。我了解 MySQL 中的所有子查询/派生表都是这种情况。
我还尝试单独查询 orderID 的集合并使用一个非常大的 IN() 子句(通常是 100 000+ 个 ID),但事实证明 MySQL 在使用非常大的 IN() 子句的索引时也存在问题结果查询时间没有改善。
有没有其他可用的选项,还是我都用尽了它们?
sql-server - SQL Server:加入包含 WITH 子句的派生表?
我想加入包含 WITH 子句的子查询/派生表(必须使用 WITH 子句进行过滤ROW_NUMBER() = 1
)。在 Teradata 中,类似的东西可以正常工作,但 Teradata 使用QUALIFY ROW_NUMBER() = 1
而不是 WITH 子句。
这是我在此加入的尝试:
我究竟做错了什么?
sql - 无法合并联合所有视图
我知道 Oracle RDMS 无法合并其中包含集合运算符的视图。我想知道为什么会这样。
例如,这个:
可以变成这样:
这两个查询是等价的,对吧?[编辑]
sql - 选择使用联合查询
我想使用以下查询在 SQL Server 中创建一个新表。我无法理解为什么这个查询不起作用。
查询1:工作
查询2:不工作。错误:Msg 170, Level 15, State 1, Line 7
Line 7: Incorrect syntax near ')'.
谢谢!
sql - 请解释如何使用派生表将此 SQL 表达为单个语句
为了我自己的启迪,我试图在不使用临时表的情况下在单个语句中编写此 SQL 功能。在我的一生中,如果没有 MySQL “错误 1248 (42000):每个派生表必须有自己的别名”,我就无法让查询工作。
这里有一些类似于我想要的东西,虽然已经坏了:
这是我试图使用临时表表达的工作版本:
谢谢您的帮助。
sql-server-2008 - 派生表上的 FULLTEXT 操作
在我的 SQL Server 2008 RC2 数据库中,我有一个表 T,它在列 FT 上定义了全文索引。我正在尝试派生一个包含列 FT 的表,然后使用全文操作从该派生表中进行选择,如下所示:
但这给出了错误消息:
不能对列 'ft_alias' 使用 CONTAINS 或 FREETEXT 谓词,因为它不是全文索引。
没门!优化器无法确定该列是否为全文索引?我觉得这很令人惊讶,因为它可以并且将在具有标准索引的列上使用索引。
我意识到在这种简单的情况下,我可以在没有派生表的情况下重写查询,但是我们的应用程序正在从用户查询生成任意复杂的 SQL,并且使用派生表使我们更容易生成正确的 SQL。
真的没有办法解决这个问题吗?
sql - SQL 中派生表的性能问题
我在 MySQL 中使用派生表时遇到问题。使用派生表是否会固有地减慢查询的处理速度?
这是我要运行的查询。它不会执行,只是超时。
它确实成功了。真的,我已将问题隔离到最后一次加入。当我取出最后一个加入时,它工作正常。但是当我添加最后一个连接时,它拒绝执行。
mysql - 连接中的子选择 - 问题
我的声明有点问题:
...它可以在没有错误消息的情况下工作。...但在我的结果中只获得 Modell_nr、ProductID 和 modfarb_id1 作为 cols。为什么我的结果中没有看到 count_modlieffarbe_vl?
mysql - Mysql从嵌套查询中引用派生表
我昨天发布了与此类似的内容,但现在我想要一些与我的查询有所不同的内容-
我正在尝试查询数据库以检索一段时间内访问过网站的一次性用户的数量。数据看起来像这样:
我希望查询结果看起来像这样
结果是 2,1,0,1,2,因为在那些日子结束时,有 X 个用户访问过一次。例如,对于第 5 天,在第 5 天结束时,用户 c 和 d 分别只访问过一次。
我想我正在寻找与此类似的查询:
上面的查询和我正在寻找的不同之处在于,我希望这个新查询只考虑每个时间跨度的一次性用户,而不是重复用户。
谢谢