Sql server SQL server子查询中多个计数的总和
我试图在SQl Server中将多个计数的单个总和作为一行来获取。下面是一个我的查询不起作用的例子Sql server SQL server子查询中多个计数的总和,sql-server,count,sum,subquery,Sql Server,Count,Sum,Subquery,我试图在SQl Server中将多个计数的单个总和作为一行来获取。下面是一个我的查询不起作用的例子 SELECT SUM(A), SUM(B), SUM(C) FROM ( SELECT COUNT(CASE T.ID WHEN 1 THEN T.ID END, '', 0) AS [A] COUNT(CASE T.ID WHEN 2 THEN T.ID END, '', 0) AS [B] COUNT(CASE T.ID WHEN 3
SELECT
SUM(A), SUM(B), SUM(C)
FROM
(
SELECT
COUNT(CASE T.ID WHEN 1 THEN T.ID END, '', 0) AS [A]
COUNT(CASE T.ID WHEN 2 THEN T.ID END, '', 0) AS [B]
COUNT(CASE T.ID WHEN 3 THEN T.ID END, '', 0) AS [C]
FROM
MyTable AS T
INNER JOIN MyOtherTable AS MOT ON T.IDNum = MOT.IDNum
WHERE
YEAR(T.MyDate) = 2015
)
这会抛出无效语法,因为我需要为子查询添加别名。关于如何使其工作,您有什么想法吗?您只需要在子查询中添加一个别名。应该是这样的 选择 sumalas_query_name.A、sumalas_query_name.B、sumalas_query_name.C 从…起 选择 COUNTCASE T.ID当1然后T.ID结束时,0作为[A] COUNTCASE T.ID当2然后T.ID结束时,0作为[B] COUNTCASE T.ID当3然后T.ID结束时,0作为[C] 从…起 MyTable AS T 在T.IDNum=MOT.IDNum上作为MOT的内部联接MyOtherTable 哪里 YEART.MyDate=2015年
作为别名\u query\u name-您只需要向子查询添加别名。应该是这样的 选择 sumalas_query_name.A、sumalas_query_name.B、sumalas_query_name.C 从…起 选择 COUNTCASE T.ID当1然后T.ID结束时,0作为[A] COUNTCASE T.ID当2然后T.ID结束时,0作为[B] COUNTCASE T.ID当3然后T.ID结束时,0作为[C] 从…起 MyTable AS T 在T.IDNum=MOT.IDNum上作为MOT的内部联接MyOtherTable 哪里 YEART.MyDate=2015年
作为别名\u查询\u名称-请为您的两个表提供架构和数据,以便我们进行调查请为您的两个表提供架构和数据,以便我们进行调查