交叉连接时出错

Gee*_*eme 2 t-sql sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012

我有下面的代码,但收到错误消息

(select count(*) as countT from dbo.P1 )  a
cross join (select count(*) as cN from dbo.[D2] ) b
cross join  (select count(*) as cM from dbo.m1)  c
Run Code Online (Sandbox Code Playgroud)

消息102,级别15,状态1,行
1'a'附近的语法不正确.
消息102,级别15,状态1,行
2'b'附近的语法不正确.
消息102,级别15,状态1,行
3'c'附近的语法不正确.

我做错了什么?

Pரத*_*ீப் 5

SELECT col_list from在您的查询中.试试这种方式

Select countT,cN,cM From 
(select count(*) as countT from dbo.P1 )  a
cross join (select count(*) as cN from dbo.[D2] ) b
cross join  (select count(*) as cM from dbo.m1)  c
Run Code Online (Sandbox Code Playgroud)

由于所有子查询将返回一行作为结果,您也可以这样做.

Select (select count(*) as countT from dbo.P1 )  countT
       , (select count(*) as cN from dbo.[D2] ) cN
       , (select count(*) as cM from dbo.m1)  cM
Run Code Online (Sandbox Code Playgroud)