Hi,
ich habe eine Haupttabelle und 3 Nebentabellen die ich allesamt mit JOIN verbinde.
Nun möchte ich ein Wert aus der Haupttabelle mit anderen Werten aus den 3 Nebentabellen vergleichen und dabei den kleinsten Wert rausbekommen und später nochmal mit dem Wert aus der Haupttabelle zu vergleichen.
Angenommen in der Haupttabelle steht in der Spalte "t1_ek" der Wert "400" drin und in den jeweils anderen Tabellen und Spalten folgendes (Spalte Wert): "t2_ek" "300", "t3_ek" "200" und "t4_ek" "100" drin, dann möchte ich den kleinsten Wert von den 3 Nebentabellen mit dem Wert aus der Haupttabelle vergleichen. Der Befehl MIN() funktioniert ja glaube ich nur mit einer Spalte oder?
Also wäre es am Ende dann t1_ek mit "400" und t4_ek mit "100". Diese beiden Werte will ich dann nochmal mit SQL vergleichen und in eine extra Spalte die Differenz der beiden Werte ausgeben lassen.
Ich benutze MySQL 4.0.25
Was ich probiert hatte:
SELECT t1.*, t2.*, t3.*, t4.*,
CASE
WHEN t2_ek<t1_ek AND t2_ek<t3_ek AND t2_ek<t4_ek THEN 'T2'
WHEN t3_ek<t1_ek AND t3_ek<t2_ek AND t3_ek<t4_ek THEN 'T3'
WHEN t4_ek<t1_ek AND t4_ek<t2_ek AND t4_ek<t3_ek THEN 'T4'
END
FROM t1
LEFT JOIN t2 ON t1.herstellernr = t2.herstlnr
LEFT JOIN t3 ON t1.herstellernr = t3.herstnr
LEFT JOIN t4 ON t1.herstellernr = t4.herstlnr
Aber da kann ich ja nur vergleichen und irgendwie komm ich schon nicht mehr weiter.
Grüße
Chris