SQL Server 2012:来自不同表的单个查询中的多个选择计数(column1)导致错误

时间:2015-10-30 08:45:20

标签: sql-server sql-server-2012

我正在尝试从SQL Server 2012中的不同表中获取计数。

我的查询如下:

SELECT  
    (
        (SELECT COUNT(dbo.Table1.column1) FROM dbo.Table1) AS A,
        (SELECT COUNT(dbo.Table2.column1) FROM ddbo.Table2) AS B,
        (SELECT COUNT(dbo.Table3.column1) FROM dbo.Table3) AS C
    )

我收到这些错误:

  

Msg 156,Level 15,State 1,Line 2
  关键字“AS”附近的语法不正确。

     

Msg 156,Level 15,State 1,Line 4
  关键字“AS”附近的语法不正确。

     

Msg 156,Level 15,State 1,Line 6
  关键字“AS”附近的语法不正确。

     

Msg 156,Level 15,State 1,Line 8
  关键字“AS”附近的语法不正确。

     

Msg 156,Level 15,State 1,Line 10
  关键字“AS”附近的语法不正确。

请帮助我摆脱这种情况。

2 个答案:

答案 0 :(得分:3)

更改为:

SELECT  
       (Select count(dbo.Table1.column1) from dbo.Table1) AS A,
       (Select count(dbo.Table2.column1) from dbo.Table2) AS B,
       (Select count(dbo.Table3.column1) from dbo.Table3) AS C

答案 1 :(得分:0)

您可以使用common table expression

WITH A(c) as (SELECT count(1) c FROM table1),
B(c) AS (SELECT count(1) c FROM table1)
SELECT A.c, B.c FROM A, B