Chris: MySQL: GREATEST()

Beitrag lesen

Da hatten wir wohl die beiden Gedanken gleichzeitig gehabt.

Möchtest du evendudel nicht doch eigentlich irgendetwas anderes machen?

Hmmm nein ;) Ich muss aus ein paar Tabellen den größten Wert herausfiltern. Und da ich die Tabellen alle mit LEFT JOIN verbinde, sind eben auch einige NULL-Werte vorhanden. Ich brauche diese Funktion wirklich ;)

Aber ich hab dann noch eine andere Frage zu LEAST, der Gegenfunktion zu GREATEST, denn LEAST sortiert bei mir noch viel viel eigenartiger...

MySQL Version 5

[code=sql]
LEAST( b.actebis_preis_ek, c.also_ep, d.techdata_preis_ek, g.ingram_ep, h.bcom_ep ) AS Minwert, a.EK_zuk - LEAST( b.actebis_preis_ek, c.also_ep, d.techdata_preis_ek, g.ingram_ep, h.bcom_ep ) AS Differenz
[/code]

Beide haben genau die gleichen Werte, jedoch kommt bei beiden was unterschiedliches heraus.

a.EK_zuk = 1287.00

b.actebis_preis_ek = 1342.25
c.also_ep = 1287.41
d.techdata_preis_ek, = 1289.66
g.ingram_ep = 1289.66
h.bcom_ep = 769.00

Minwert = 1287.41
Differenz = 518

Wie kann es sein, dass er beim Minwert 1287.41 rausbekommt, aber bei der Differenz, die sich aus "1287.00 - Minwert" zusammenstellt, 518?
1287-518=769, 769.00 ist ja der kleinste Wert von Minwert.

Wieso rechnen die unterschiedlich, auch wenn sie beide die gleichen Werte und Funktionen haben?