Почему мой SQL запрос не применяется к моему условию «где не равно»? - PullRequest
0 голосов
/ 10 марта 2020

Я использовал CTE (временную таблицу) для вычисления данных в течение семестров. С моим запросом я хочу сравнить, если мои данные (уже агрегированные) равны моей сумме, вычисленной в моем CTE. Однако при использовании WHERE data_already_aggregated <> data_computed я получил результат, в котором мои результаты в этих столбцах равны. Я пытался использовать =! как хорошо, а также =. Последний вариант работал, но не так, как я хочу.

Вот мой код:

WITH trimestriel AS(
SELECT "donnéestrim".annee,
       "donnéestrim".trimestre,
       "donnéestrim".codescpi,
       scpi.scpi,
       "donnéestrim"."rd_t",
       SUM("donnéestrim".rd_t) OVER (PARTITION BY "donnéestrim".annee, "donnéestrim".codescpi) AS "trim_sum_totalYear_rd_t",
       row_number() over (partition BY scpi.codescpi, annee) AS "row_number"
FROM "donnéestrim"
LEFT JOIN scpi ON scpi.codescpi = "donnéestrim".codescpi
ORDER BY "donnéestrim".annee)

SELECT "annuel".codescpi,
       scpi.scpi ,
       "annuel".annee,
       trimestriel."trimestre",
       "annuel".revdisavpl AS "annuel_revdisavpl",
       "trim_sum_totalYear_rd_t",
       "rd_t" AS "trim_rd_t"
FROM "annuel"
LEFT JOIN scpi ON scpi.codescpi = "annuel".codescpi
LEFT JOIN trimestriel ON trimestriel.codescpi = "annuel".codescpi AND trimestriel.annee=annuel.annee
WHERE    "annuel".annee = '2018' and scpi.codescpi = '129' and "annuel".revdisavpl != "trim_sum_totalYear_rd_t"

результат

1 Ответ

1 голос
/ 11 марта 2020

Как предположил @JNevill, это проблема типа данных. Тип с двойной точностью отображает данные только с указанными параметрами c, но может хранить больше информации, если приведен. Я привел это в реал, и я могу видеть разрывы между моими данными.

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