gpt4 book ai didi

sql - 如何将使用公用表表达式的 SQL 查询转换为不使用公用表表达式的查询(适用于 SQL Server 2000)

转载 作者:行者123 更新时间:2023-12-04 21:08:41 24 4
gpt4 key购买 nike

我刚刚找到了 How to Find Rows which are Duplicates by a Key but Not Duplicates in All Columns? 的合适解决方案, 编码存储过程,然后得知数据库卡在SQL Server 2000。

当然,我的解决方案在很大程度上依赖于公用表表达式。

任何人都可以为我提供一组转换回 SQL Server 2000 方言的规则吗?

请注意,我有这样的东西L:

;
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将整个 CTE SELECT 作为查询的 FROM 部分中的表。

SELECT *
FROM (SELECT *
FROM table1) oldCTE

关于sql - 如何将使用公用表表达式的 SQL 查询转换为不使用公用表表达式的查询(适用于 SQL Server 2000),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251622/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com