SQL Server 2005中的交叉联接值

控制怪胎

我正在使用SQL Server 2005,但出现错误:

关键字“ VALUES”附近的语法不正确。

尝试运行此查询时:

  SELECT T.N 
  FROM Table
  CROSS JOIN (VALUES(1),(2),(3),(4),(5),(6),(7),(8),(9)) as T(N)
  WHERE 1 = 1

但不是在SQL Server 2008中-在2008年运行良好。

我必须在SQL Server 2005中做什么才能使其正常工作?

戈登·利诺夫

只需使用selectwith即可union all

SELECT T.N
FROM Table CROSS JOIN
     (select 1 as n union all select 2 union all select 3 union all select 4 union all select 5 union all
      select 6 union all select 7 union all select 8 union all select 9
     ) as T(N)
WHERE 1=1;

或者,使用递归CTE,因此您不必键入以下值:

with t(n) as
      select 1 as n
      union all
      select n + 1
      from t
      where n < 9
     )
select t.n
from table1 cross join
     t
where 1 = 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

交叉联接在SQL Server中不起作用

来自分类Dev

如何在SQL Server 2005中查找值的最低行数

来自分类Dev

SQL Server中的交叉计算

来自分类Dev

在Sql Server中交叉联接并不总是返回所有表中的所有行

来自分类Dev

Sql Server 中的自联接+左联接

来自分类Dev

获取SQL Server 2005、2008 Server中某个时间段的中间值

来自分类Dev

SQL Server 2005中的动态PIVOT

来自分类Dev

在SQL Server 2005中检索层次结构

来自分类Dev

加密SQL Server 2005

来自分类Dev

子查询返回了 1 个以上的值。在 SQL Server 2005 中

来自分类Dev

SQL Server多表联接

来自分类Dev

SQL Server 2008中的循环联接

来自分类Dev

SQL Server中的左外部联接

来自分类Dev

SQL Server中的条件表联接

来自分类Dev

如何在SQL Server中多联接

来自分类Dev

自联接SQL Server 2008中的表

来自分类Dev

在SQL Server中创建联接表

来自分类Dev

在SQL Server中的两列上联接

来自分类Dev

SQL Server中多个列上的内部联接

来自分类Dev

SQL Server 2005:If语句具有返回值

来自分类Dev

SQL Server 2005-插入并选择1个值

来自分类Dev

键值对XML(SQL Server 2005)

来自分类Dev

从SQL Server 2005中的列中获取查询的xml节点

来自分类Dev

SQL Server交叉连接性能

来自分类Dev

SQL Server交叉连接性能

来自分类Dev

SQL Server交叉表查询

来自分类Dev

SQL:在SQL Server 2012中使用外部联接

来自分类Dev

执行递归SQL查询(SQL Server 2005)

来自分类Dev

回滚插入到SQL Server 2005中的多个表