/ / MySQL Summe von zwei Spalten falsches Ergebnis - mysql, sql

MySQL Summe von zwei Spalten falsches Ergebnis - mysql, sql

Meine SQL-Abfrage, die eine Summe von zwei Werten aus zwei verschiedenen Tabellen enthält, kommt mit einem falschen Ergebnis für einige der Abfragen heraus.

Tabelle sieht so aus:


Tabelle 1

    ID  |  name  |  value
1   |  bla   |  88.666666
2   |  hi    |  90.555555
3   |  bye   |  80.444444

Tabelle 2

    ID  |  name  |  value
1   |  h     |  1.007275
2   |  na    |  22.005555
3   |  nh    |  23.007878

Dann möchte ich die Werte von bla und h zusammen addieren. Ich mache dann eine einfache Abfrage

SELECT a.`value`+b.`value` AS totalvalue from `table 1` a CROSS JOIN table 2 WHERE a.`ID` = 1 AND b.`ID` = 1

Das Ergebnis sollte etwa lauten:

    89.673941

Aber es ist Realität, die ich bekomme:

89.6739400000000000000000001

Beide Tabellentypen sind TEXT, mit denen ich versucht habeDoppelt aber kein Unterschied. Die Tabellen konstruiert ist nur ein kleines Beispiel, die Tabellen, die ich benutze, ist größer, und ca. 1 von 3 Ergebnissen kann falsch sein, wie das Beispiel zeigt. Ich hoffe du kannst helfen.

Antworten:

1 für die Antwort № 1

Versuchen Sie mit CAST als DECIMAL wie

SELECT cast((a.`value`+b.`value`) AS decimal(10,6)) AS totalvalue
FROM `table 1` a
CROSS JOIN TABLE 2
WHERE a.`ID` = 1
AND b.`ID` = 1