当前位置: 首页 > 面试题库 >

如何将使用公用表表达式的SQL查询转换为一个不包含的查询(对于SQL Server 2000)

曾洲
2023-03-14
问题内容

我刚刚找到了一种适当的解决方案,以解决如何查找键重复但在所有列中都不重复的行?,对存储过程进行了编码,然后得知该数据库卡在了SQL Server 2000中。

当然,我的解决方案在很大程度上依赖于Common Table Expressions。

谁能为我提供一套转换回SQL Server 2000方言的规则?

请注意,我有以下内容:

;
WITH CTE1 AS ( ... ),
CTE2 AS (SELECT ... FROM CTE1 ... ),
CTE3 AS (SELECT ... FROM CTE1 INNER JOIN CTE2 ...)
SELECT * FROM CTE3
WHERE criteria
ORDER BY sequence

这似乎使事情变得更加有趣。

更新: 所有CTE都不是递归的。


问题答案:

两种选择(允许的,都不是漂亮的-这就是为什么我们喜欢CTE的原因)

选项1

创建一个临时表(#,或者足够小@),并像使用CTE一样引用它。完成后放下。

选项2 将整个CTESELECT作为表格放在FROM查询的一部分中。

SELECT *
FROM  (SELECT *
       FROM table1) oldCTE


 类似资料:
  • 本文向大家介绍postgresql SELECT查询中的公用表表达式,包括了postgresql SELECT查询中的公用表表达式的使用技巧和注意事项,需要的朋友参考一下 示例 公用表表达式支持提取较大查询的部分。例如:            

  • 我正在尝试转换以下查询: 到标准Hibernate查询,但肯定错过了一些东西,因为我得到了以下错误: 当我尝试时: 很抱歉,表/列命名错误,但这是敏感数据。

  • 我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候

  • 问题内容: 我想将以下SQL查询转换为Elasticsearch之一。谁能帮上忙 我尝试了以下方法: 但不确定我是否做对了,因为它无法验证结果。似乎要在聚合内添加查询。 问题答案: 假设您使用Elasticsearch 2.x,则有可能在Elasticsearch中 具有 -semantics。我不知道2.0之前的可能性。 您可以使用新的Pipeline Aggregation Bucket Se

  • 问题内容: 我的最后一篇文章是关于在LEFT OUTER JOIN上编写带有条件的SQL查询的最佳方法: LEFT OUTER JOIN带有条件(在哪里排序)? 现在,我需要将该段好的SQL转换成一个不错的Active Record查询(Rails 3)。;-) 我有2个型号: 培训 has_many:training_histories TrainingHistory 所属类别:培训 如何编写范

  • 问题内容: 我有一个在SQL中完美运行的查询,但是我有最糟糕的时间将其转换为linq。该表(下面的表1)保存了多种记录类型的状态更改。联接需要设置两个字段以创建有效联接:SubmissionId(状态所属的表的pk)和SubmissionTypeId(确定状态所属的表)。 我已经尝试过使用x.DefaultIfEmpty()中的y到x进行多次迭代,并且无法在正确的位置设置where子句。我需要从T