Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 为什么这个查询不起作用_Sql_Sql Server - Fatal编程技术网

Sql 为什么这个查询不起作用

Sql 为什么这个查询不起作用,sql,sql-server,Sql,Sql Server,为什么这个查询不起作用 它显示错误 Msg 102,15级,状态1,第6行 “')附近的语法不正确 MSSQL要求创建派生表(在from子句中的subselect)。只需将查询更改为: select ROW_NUMBER() over(PARTITION by number order by number) as rn from (select t1.id as number, t1.name as name from #a as T1 join #a

为什么这个查询不起作用

它显示错误

Msg 102,15级,状态1,第6行 “')附近的语法不正确


MSSQL要求创建派生表(在
from
子句中的subselect)。只需将查询更改为:

select ROW_NUMBER() over(PARTITION by number order by number) as rn 
from (select t1.id as number,
             t1.name as name from #a as T1 
      join #a T2 on T1.id=T2.id)

应该可以解决您的问题。

MSSQL要求创建派生表(在
from
子句中选择子集)。只需将查询更改为:

select ROW_NUMBER() over(PARTITION by number order by number) as rn 
from (select t1.id as number,
             t1.name as name from #a as T1 
      join #a T2 on T1.id=T2.id)

应该可以解决您的问题。

末尾缺少别名
.T1.id=T2.id)一个
“按数字顺序划分”没有意义。按列分区或按列排序,而不是两者都分区。末尾缺少别名
.T1.id=T2.id)一个
“按数字顺序划分”没有意义。按列划分或按列排序,而不是两者都划分。正确的术语是
派生表
(这是子查询的一种特殊形式)。更多信息。@TT。我认为“派生表”是表子查询的结果?从“subquery1”这个名称中给出这个东西似乎很好。@lukstorm我不是指别名,只是指他在第一句中使用的术语“subselect”。@TT:谢谢你的提示。正确的术语是
派生表
(这是子查询的一种特殊形式)。更多信息。@TT。我认为“派生表”是表子查询的结果?从“subquery1”这个名字开始,用“subquery1”这个词似乎不错。@LukStorms我不是指别名,只是指他在第一句话中使用的术语“subselect”。@TT:谢谢你的提示。