简体   繁体   English

为什么我的 SQL 查询不适用于我的 where not equal 条件?

[英]Why my SQL query does not apply my where not equal condition?

I used a CTE (temp table) to compute data through semesters.我使用 CTE(临时表)来计算整个学期的数据。 With my query, I want to compare if my data (already aggregated) are equal to my sum computed in my CTE.通过我的查询,我想比较我的数据(已经聚合)是否等于我在 CTE 中计算的总和。 However, when using WHERE data_already_aggregated <> data_computed I got a result where my results in those columns are equal.但是,当使用WHERE data_already_aggregated <> data_computed时,我得到的结果是我在这些列中的结果相等。 I tried to use =!我试着用=! as well, and also =.还有,还有=。 Last option worked, but not the way I want.最后一个选项有效,但不是我想要的方式。

Here my code:这是我的代码:

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"

result结果

As @JNevill suggested, it's a data type problem.正如@JNevill 所建议的,这是一个数据类型问题。 A double precision type only display the data with its specific parameters, but can store more information if casted.双精度类型仅显示具有其特定参数的数据,但如果进行转换,则可以存储更多信息。 I cast it to real, and I can saw the gaps between my data.我把它转换成真实的,我可以看到我的数据之间的差距。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM