【发布时间】:2010-12-27 05:09:38
【问题描述】:
我们如何在 SQL Server 的子查询中使用 CTE?
喜欢:
SELECT id (I want to use CTE here), name FROM table_name
【问题讨论】:
-
叹息。为什么不提供更多背景信息?例如....你想达到什么目的?为什么你认为你想在这里使用 CTE?你已经尝试了什么?为什么它不起作用?等
-
叹息。叹。为什么每个人都想要这么多上下文? TSQL 具有一成不变的语法。在我们被允许执行语句之前,我们不必说服 SQL 服务器为什么结果是有价值的。您在此站点上提供的上下文越多,版主就越有可能无法通过它并且他们会投票关闭。叹息。
-
完全同意@RonnieOverby 的观点。上下文是如何在子查询中使用 CTE(它在标题中)。这是一个更清晰的版本:解释如何执行以下查询: SELECT * FROM (WITH cte AS (一个不错的 SELECT 语句) SELECT 一些字段或计算,或者可能是聚合 FROM cte ) AS x 可能加入另一个表
-
好的,这里有一些上下文:我正在用 SQL 构建一个规则引擎,规则由用户定义。所以我有一个存储过程,它根据规则动态生成 SQL。 SP 返回生成的 SQL 语句,例如WITH cte1 (), cte2 () 等 SELECT ... FROM cte1 JOIN cte2 ON... 现在我想要另一个 SP 生成结果摘要,例如SELECT COUNT(*) FROM (%s) 其中 %s 是第一个 SP 生成的 SQL。我知道动态 SQL 的安全风险。此应用程序需要即时生成 SQL,即规则引擎。
标签: sql sql-server tsql subquery common-table-expression