Нужна помощь _ Ошибка - невозможно вычислить значения и удалить те, которые имеют 0 - PullRequest
0 голосов
/ 12 апреля 2020

Когда я пытаюсь вычислить значения в конце, это показывает мне ошибку. Я не могу понять это, почему? Работает без суммы в конце запроса. Я хотел бы вычислить значения и исключить те, которые показывают 0.

SELECT ime_priimek, 
       ( 
              SELECT Count (avtor) 
              FROM   dolzniki_klici 
              WHERE  dolzniki_klici.avtor = uporabniki.id_uporabnik 
              AND    dolzniki_klici.datum >='2020-03-01' 
              AND    dolzniki_klici.datum<='2020-03-31') AS vsi_klici, 
       ( 
              SELECT Count(avtor) 
              FROM   dolzniki_klici 
              WHERE  dolzniki_klici.avtor = uporabniki.id_uporabnik 
              AND    status_klica='1' 
              AND    dolzniki_klici.datum >='2020-03-01' 
              AND    dolzniki_klici.datum<='2020-03-31') AS uspesni_klici, 
       ( 
              SELECT Count (dolzniki_dogovori.id) 
              FROM   dolzniki_dogovori 
              WHERE  dolzniki_dogovori.id_uporabnik = uporabniki.id_uporabnik 
              AND    dolzniki_dogovori.datum_nastavljeno>='2020-03-01' 
              AND    dolzniki_dogovori.datum_nastavljeno<='2020-03-31') AS st_dogovorov, 
       ( 
              SELECT Count (dolzniki_opravila.opravil_uporabnik) 
              FROM   dolzniki_opravila 
              WHERE  dolzniki_opravila.opravil_uporabnik=uporabniki.id_uporabnik 
              AND    reseno_opravilo IS NOT NULL 
              AND    datum_opravljeno >='2020-03-01' 
              AND    datum_opravljeno <='2020-03-31') AS opravljena_opravila, 
       ( 
              SELECT Count(avtor) 
              FROM   dolzniki_izhodna_posta 
              WHERE  dolzniki_izhodna_posta.avtor=uporabniki.id_uporabnik 
              AND    posta ilike '%PRIJAVA TERJATVE V%' 
              AND    datum>='2020-03-01' 
              AND    datum<='2020-03-31') AS prijavljeni_stecaji, 
       ( 
              SELECT count(avtor) 
              FROM   dolzniki_vhodna_posta 
              WHERE  dolzniki_vhodna_posta.avtor=uporabniki.id_uporabnik 
              AND    datum_pregledano>='2020-03-01' 
              AND    datum_pregledano<='2020-03-31') AS pregledana_posta, 
       ( 
              SELECT count(avtor) 
              FROM   dolzniki_vhodna_posta 
              WHERE  dolzniki_vhodna_posta.avtor=uporabniki.id_uporabnik 
              AND    datum_vpisa>='2020-03-01' 
              AND    datum_vpisa<='2020-03-31') AS vpisana_posta, 
       ( 
              SELECT count(avtor) 
              FROM   dolzniki_izhodna_posta 
              WHERE  dolzniki_izhodna_posta.avtor=uporabniki.id_uporabnik 
              AND    datum>='2020-03-01' 
              AND    datum<='2020-03-31') AS poslana_posta, 
       ( 
              SELECT (vsi_klici+uspesni_klici+st_dogovorov+opravljena_opravila+prijavljeni_stecaji+pregledana_posta+vpisana_posta+poslana_posta) AS kalkulacija
              FROM   ( 
                            SELECT 
                                   ( 
                                          SELECT count (avtor) 
                                          FROM   dolzniki_klici 
                                          WHERE  dolzniki_klici.avtor = uporabniki.id_uporabnik 
                                          AND    dolzniki_klici.datum >='2020-03-01' 
                                          AND    dolzniki_klici.datum<='2020-03-31') AS vsi_klici, 
                                   ( 
                                          SELECT count(avtor) 
                                          FROM   dolzniki_klici 
                                          WHERE  dolzniki_klici.avtor = uporabniki.id_uporabnik 
                                          AND    status_klica='1' 
                                          AND    dolzniki_klici.datum >='2020-03-01' 
                                          AND    dolzniki_klici.datum<='2020-03-31') AS uspesni_klici, 
                                   ( 
                                          SELECT count (dolzniki_dogovori.id) 
                                          FROM   dolzniki_dogovori 
                                          WHERE  dolzniki_dogovori.id_uporabnik = uporabniki.id_uporabnik
                                          AND    dolzniki_dogovori.datum_nastavljeno>='2020-03-01' 
                                          AND    dolzniki_dogovori.datum_nastavljeno<='2020-03-31') AS st_dogovorov, 
                                   ( 
                                          SELECT count (dolzniki_opravila.opravil_uporabnik) 
                                          FROM   dolzniki_opravila 
                                          WHERE  dolzniki_opravila.opravil_uporabnik=uporabniki.id_uporabnik
                                          AND    reseno_opravilo IS NOT NULL 
                                          AND    datum_opravljeno >='2020-03-01' 
                                          AND    datum_opravljeno <='2020-03-31') AS opravljena_opravila, 
                                   ( 
                                          SELECT count(avtor) 
                                          FROM   dolzniki_izhodna_posta 
                                          WHERE  dolzniki_izhodna_posta.avtor=uporabniki.id_uporabnik
                                          AND    posta ilike '%PRIJAVA TERJATVE V%' 
                                          AND    datum>='2020-03-01' 
                                          AND    datum<='2020-03-31') AS prijavljeni_stecaji, 
                                   ( 
                                          SELECT count(avtor) 
                                          FROM   dolzniki_vhodna_posta 
                                          WHERE  dolzniki_vhodna_posta.avtor=uporabniki.id_uporabnik
                                          AND    datum_pregledano>='2020-03-01' 
                                          AND    datum_pregledano<='2020-03-31') AS pregledana_posta, 
                                   ( 
                                          SELECT count(avtor) 
                                          FROM   dolzniki_vhodna_posta 
                                          WHERE  dolzniki_vhodna_posta.avtor=uporabniki.id_uporabnik
                                          AND    datum_vpisa>='2020-03-01' 
                                          AND    datum_vpisa<='2020-03-31') AS vpisana_posta, 
                                   ( 
                                          SELECT count(avtor) 
                                          FROM   dolzniki_izhodna_posta 
                                          WHERE  dolzniki_izhodna_posta.avtor=uporabniki.id_uporabnik
                                          AND    datum>='2020-03-01' 
                                          AND    datum<='2020-03-31') AS poslana_posta) AS table1) 
FROM   uporabniki 
WHERE  lokalni_uporabnik=true 
AND    kalkulacija >'0'

РЕДАКТИРОВАТЬ: Formated Query, это должно выглядеть как читабельное. Это необработанный запрос, который выполнялся с терминала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...