Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL,SUM+;案例_Sql_Sql Server_Sum_Case - Fatal编程技术网

SQL,SUM+;案例

SQL,SUM+;案例,sql,sql-server,sum,case,Sql,Sql Server,Sum,Case,我尝试这样做: SELECT o.ID_DOSSIER, SUM(CASE WHEN ID_TYPE IN ('0','1') THEN SUM(TTL * -1) END) - SUM(CASE WHEN ID_TYPE IN ('2','3') THEN SUM(TTL) END) FROM ope o,actor a WHERE o.ID_ACTION=a.ID_ACTION GROUP BY o.ID_DOSSIER 问我如果你不知道我想做什么 以程序化的方式 case 1

我尝试这样做:

SELECT
  o.ID_DOSSIER,
  SUM(CASE WHEN ID_TYPE IN ('0','1') THEN SUM(TTL * -1) END) - SUM(CASE WHEN ID_TYPE IN ('2','3') THEN SUM(TTL) END)
FROM
  ope o,actor a
WHERE o.ID_ACTION=a.ID_ACTION
GROUP BY o.ID_DOSSIER
问我如果你不知道我想做什么

以程序化的方式

case 1 : ID_TYPE IN ('0','1') THEN TTL1 = TTL * -1
case 2 : ID_TYPE IN ('2','3') THEN TTL2 = TTL
TTL=TTL2+TTL1
FROM
子句中不要使用逗号。始终使用正确、明确的
JOIN
语法

然后,不能嵌套聚合函数,因此这就足够了:

SELECT o.ID_DOSSIER,
       SUM(CASE WHEN ID_TYPE IN ('0', '1') THEN TTL * -1
                WHEN ID_TYPE IN ('2', '3') THEN TTL
           END)
FROM ope o JOIN
     actor a
     ON o.ID_ACTION = a.ID_ACTION
GROUP BY o.ID_DOSSIER

我不知道你想做什么。问我如果你不知道我想做什么,你应该告诉我们你想做什么并寻求帮助我认为你只需要:
SUM(当ID_键入('0','1')时,TTL*-1当ID_键入('2','3'),然后TTL END)
@Jules:请告诉我你想做什么。@trincot我不知道你想评论什么。