我正在尝试这句话:
Declare @Param1 int = 0
SELECT @Param1,T.N
CROSS JOIN (VALUES(0),(1),(2)) as T(N)
返回此错误:
消息156,级别15,状态1 关键字' CROSS'
附近的语法不正确当我首先使用FROM
时,我似乎只能使用此交叉连接,而不是单独使用此交叉连接?
答案 0 :(得分:1)
我猜你这样做的时候有效:
SELECT @Param1,T.N
FROM (VALUES(0),(1),(2)) as T(N)
答案 1 :(得分:1)
是的,你不能在from语句之外进行连接。使用table var for param并加入它?
Declare @Param1 table(param1 int);
insert into @param1 values(0)
SELECT *
from @Param1
CROSS JOIN (VALUES(0),(1),(2)) as T(N);