Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/function/3.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
对postgresql查询中同一表中的两列值求和 选择c.period, c、 idsr\u事件\u id\u id, c、 idsr_疾病_id_id, 当idsr\u事件\u id\u id=1或idsr\u事件\u id\u id=3,然后求和(c.data\u value::integer),否则0作为案例结束, 当idsr\u事件\u id\u id=2或idsr\u事件\u id\u id=4,然后求和(c.data\u value::integer),否则0以死亡结束 来自veoc_idsr_周报_国家报告c 在b.id=c.idsr\u disease\u id\u id上左键连接veoc\u idsr\u diseases b 左连接veoc_idsr_报告的_事件j ON j.id=c.idsr_事件_id_id 如果c.idsr\u事件\u id>=1和c.idsr\u事件\u id\u id_Postgresql - Fatal编程技术网

对postgresql查询中同一表中的两列值求和 选择c.period, c、 idsr\u事件\u id\u id, c、 idsr_疾病_id_id, 当idsr\u事件\u id\u id=1或idsr\u事件\u id\u id=3,然后求和(c.data\u value::integer),否则0作为案例结束, 当idsr\u事件\u id\u id=2或idsr\u事件\u id\u id=4,然后求和(c.data\u value::integer),否则0以死亡结束 来自veoc_idsr_周报_国家报告c 在b.id=c.idsr\u disease\u id\u id上左键连接veoc\u idsr\u diseases b 左连接veoc_idsr_报告的_事件j ON j.id=c.idsr_事件_id_id 如果c.idsr\u事件\u id>=1和c.idsr\u事件\u id\u id

对postgresql查询中同一表中的两列值求和 选择c.period, c、 idsr\u事件\u id\u id, c、 idsr_疾病_id_id, 当idsr\u事件\u id\u id=1或idsr\u事件\u id\u id=3,然后求和(c.data\u value::integer),否则0作为案例结束, 当idsr\u事件\u id\u id=2或idsr\u事件\u id\u id=4,然后求和(c.data\u value::integer),否则0以死亡结束 来自veoc_idsr_周报_国家报告c 在b.id=c.idsr\u disease\u id\u id上左键连接veoc\u idsr\u diseases b 左连接veoc_idsr_报告的_事件j ON j.id=c.idsr_事件_id_id 如果c.idsr\u事件\u id>=1和c.idsr\u事件\u id\u id,postgresql,Postgresql,请尝试以下查询,其中替换了函数位置之和: SELECT c.period, c.idsr_incident_id_id, c.idsr_disease_id_id, CASE WHEN idsr_incident_id_id = 1 OR idsr_incident_id_id = 3 THEN SUM(c.data_value::integer) ELSE 0 END AS cases, CASE WHEN idsr_incident_id_id = 2 OR

请尝试以下查询,其中替换了函数位置之和:

SELECT c.period,
    c.idsr_incident_id_id,
    c.idsr_disease_id_id,
    CASE WHEN idsr_incident_id_id = 1 OR idsr_incident_id_id = 3 THEN SUM(c.data_value::integer) ELSE 0 END  AS cases,
    CASE WHEN idsr_incident_id_id = 2 OR idsr_incident_id_id = 4 THEN SUM(c.data_value::integer) ELSE 0 END  AS deaths
   FROM veoc_idsr_weekly_national_report c
     LEFT JOIN veoc_idsr_diseases b ON b.id = c.idsr_disease_id_id
     LEFT JOIN veoc_idsr_reported_incidents j ON j.id = c.idsr_incident_id_id
    WHERE c.idsr_incident_id_id >= 1 AND c.idsr_incident_id_id <= 4 AND idsr_disease_id_id = 10 AND period ='2019W30'
  GROUP BY c.period, c.idsr_incident_id_id, c.idsr_disease_id_id, c.data_value;`enter code here`
选择c.period,
c、 idsr_疾病_id_id,
求和(当idsr\U事件id\U id=1或idsr\U事件id\U id=3时的情况,然后(c.data\U value::integer)否则为0结束)作为情况,
总和(当idsr\U事件id\U id=2或idsr\U事件id\U id=4时,则为(c.data\u value::integer),否则为0结束)作为死亡
来自veoc_idsr_周报_国家报告c
在b.id=c.idsr\u disease\u id\u id上左键连接veoc\u idsr\u diseases b
左连接veoc_idsr_报告的_事件j ON j.id=c.idsr_事件_id_id
其中c.idsr\u事件\u id\u id>=1和c.idsr\u事件\u id\u id
SELECT c.period,
    c.idsr_disease_id_id,
    SUM(CASE WHEN idsr_incident_id_id = 1 OR idsr_incident_id_id = 3 THEN (c.data_value::integer) ELSE 0 END)  AS cases,
    SUM(CASE WHEN idsr_incident_id_id = 2 OR idsr_incident_id_id = 4 THEN (c.data_value::integer) ELSE 0 END)  AS deaths
FROM veoc_idsr_weekly_national_report c
LEFT JOIN veoc_idsr_diseases b ON b.id = c.idsr_disease_id_id
LEFT JOIN veoc_idsr_reported_incidents j ON j.id = c.idsr_incident_id_id
WHERE c.idsr_incident_id_id >= 1 AND c.idsr_incident_id_id <= 4 AND idsr_disease_id_id = 10 AND period ='2019W30'
GROUP BY c.period, c.idsr_disease_id_id;