【发布时间】:2015-08-31 11:38:04
【问题描述】:
我有一个示例查询(完全修改)如下:
with projects as (
select * from projectdetails
)
select * from projects
当我运行上述查询时,它运行良好。
但是当我再放一个选择查询时..它会抛出错误。
select * from
(
with projects as (
select * from projectdetails
)
select * from projects
)
错误:关键字“with”附近的语法不正确。如果这个说法是 公用表表达式、xmlnamespaces 子句或更改 跟踪上下文子句,前一条语句必须终止 用分号。
同样的查询在 Oracle 中运行良好,但在 SQL Server 中却不行。
【问题讨论】:
-
您的简化示例并没有任何意义。因为您包装的外部查询(如果要工作的话)似乎与
select * from projects做同样的事情。 -
嗨..我知道上面的查询与从项目中选择 * 相同。但实际的问题是在其中编写一个带有 'with' 作为子查询的外部选择。当我写oracle 中的相同查询允许我编写但不能在上面提到的 mysql 中编写。
-
@Sravan:- 你不能有一个包含
with子句的子查询。但是,如果您可以提供有关您要实现的目标的更多详细信息,那么您可能可以找到其他方法来实现这一目标:) -
嗨 Rahul ..通过使用 with 子句,我得到了满足少数条件的所有项目的字段..该字段中的值将从 1 到 9。现在我需要计算值为 1 的字段,值从 2 到 5 的字段计数和值从 5 到 9 的字段计数。所以我使用三个联合子句...
标签: sql sql-server oracle common-table-expression