0
我想在SQL服务器上使用几个时间别名的with子句。别名sql的几种用法
例子:
WITH name1 AS (
SELECT ...
)
SELECT * from name1
SELECT * from name1 ORDER BY name
这可能吗? 我收到“无效对象名称”错误
我想在SQL服务器上使用几个时间别名的with子句。别名sql的几种用法
例子:
WITH name1 AS (
SELECT ...
)
SELECT * from name1
SELECT * from name1 ORDER BY name
这可能吗? 我收到“无效对象名称”错误
你正在尝试使用的是CTE
,仅在紧随其后的DML
WITH name1 AS (
SELECT ...
)
SELECT * from name1
那部分将罚款可供使用。下一个select
声明将无法访问CTE
。您可以尝试使用table variable
代替
公用表表达式如下语法:
WITH name1 AS
(
SELECT ...
)
SELECT * from name1
。如果你想使用CTE 表超过您只能使用一个SELECT语句CTE表有一次,只要您将该CTE表移动到临时表并在所有位置使用该表。
改为创建视图。它可以用于不同的查询。 – jarlh
CTE是 其后的语句可以是单个SELECT/INSERT/UPDATE/DELETE,或者一个复合(带有UNION,INTERSECT等) – 2017-04-26 09:05:14
您只能从CTE name1中执行第一个SELECT。第二个SELECT给你错误。 –