Bounjoun ChrisB,
Müssen nicht unbedingt Centbeträge als INT sein, MySQL kennt für genau solche Zwecke nämlich auch DECIMAL. Das besitzt eine anzugebende Genauigkeit an Nachkommastellen, und garantiert diese auch.
Jetzt kann ich mich erinnern, dass ich DECIMAL zuerst gewählt hatte, als ich die Datenbank angelegt hatte. Doch mit irgendwas war ich nicht klar gekommen, weswegen ich dann FLOAT probiert hatte.
Vermutlich hatte ich bei DECIMAL vergessen die Länge anzugeben ;)
Wenn ich das jetzt benutze, werden allerdings alle Beträge linksbündig angeordnet, was bei vielen Datensätzen mit unterschiedlich langen Zahlen etwas bescheuert aussieht...
“If the data types of corresponding SELECT columns do not match, the types and lengths of the columns in the UNION result take into account the values retrieved by all of the SELECT statements.”
Ich habe die Stelle in der deutschen Beschreibung auch gefunden, die englische ist allerdings verständlicher...
Wenn du das „Problem“, dass dir mehr als zwei Nachkommastellen geliefert werden, vorher mit der einfachen Query, die nur alle Datensätze liefert, nicht hattest, und es erst durch das Bilden einer SUMme auftritt
Nein, bei der reinen Summe gab es 2 Nachkommastellen. Erst beim Unterabfragen mit UNION kommen (bei FLOAT) die vielen Nachkommazahlen - und zwar in allen Rechnungsbeträgen, nicht nur unten bei der Summe.
Wenn ich DECIMAL benutze und mit UNION die Abfragen kombiniere, sind alle Felder mit reinen Zahlen linksbündig angeordnet, auch die reinen Integer wie Rechnunsnummer oder Kundennummer.
Adiou.
Ich bin eigentlich ganz anders, aber ich komme so selten dazu. - Ödön von Horwáth
Ist Rudi Carrell Gott? Oder George Harrison Ford?
Ich bin faul und das ist gut so.