2

我有下面的代码,但是,收到错误消息错误的交叉连接

(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 

消息102,级别15,状态1,行1个
附近有语法错误 'A'。
Msg 102,Level 15,State 1,Line 2
'b'附近语法不正确。
Msg 102,Level 15,State 1,Line 3
'c'附近的语法不正确。

我做错了什么?

+2

您缺少第一个'SELECT *':'SELECT * FROM(....您当前的代码在这里)' – Lamak

回答

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 

由于所有的子查询将返回一行作为结果,你可以做到这一点。

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 
+0

感谢它的工作 – Geeme