Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Maximal-Wert [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Maximal-Wert


 
Honny
21-05-2002, 11:37 
 
Mit welchem Kommando kann ich einen Maximal-Wert aus drei verschiedenen Spalten, die jeweils aus drei unterschiedlichen Tabellen stammen, abfragen ???

 
mkJack
21-05-2002, 12:28 
 
Generell (für eine Tabelle) geht das so:
SELECT MAX(spalte) FROM tabelle

 
Honny
21-05-2002, 12:45 
 
Tja, soweit war ich auch schon !
Aber ich muß ja mehrere Spalten abfragen ! Das ist ja gerade das Problem !

 
Kropff
21-05-2002, 13:13 
 
generell geht das mit LEFT JOIN, und verschiedenen optionen (OUTER, NATURAL, USING). hängt aber von deiner datenbankstruktur ab.
gruss
peter

 
Honny
21-05-2002, 15:24 
 
Daß ich mehrere Tabellen mit left outer join verknüpfen kann, ist mir ebenso nicht unbekannt !!!
Nur trifft das nicht den Kern meines Problems !!!
Mir geht 's mehr um den select max() - Befehl !!!
Wäre vielleicht das eine Lösung? select max(Spalte1,Spalte2,Spalte3) - Ich glaube kaum !!!
Also, wer hat ne gescheite Lösung ???

 
goth
21-05-2002, 15:33 
 
Original geschrieben von Honny
Daß ich mehrere Tabellen mit left outer join verknüpfen kann, ist mir ebenso nicht unbekannt !!!
Nur trifft das nicht den Kern meines Problems !!!
Mir geht 's mehr um den select max() - Befehl !!!
Wäre vielleicht das eine Lösung? select max(Spalte1,Spalte2,Spalte3) - Ich glaube kaum !!!
Also, wer hat ne gescheite Lösung ???

Mit MySQL 4.0.x würde ich sagen: Mach's mit 'ner UNION (http://www.mysql.com/doc/U/N/UNION.html).

Da MySQL 4.0.x noch selten ist würde ich mal was mit der Funktion IF() probieren ... allerdings weiss ich nicht ob's mit Aggregat-Funktionen zusammen geht:

SELECT IF( (@max1:=MAX(spalte1))>(@max2:=MAX(spalte2)), IF( (@max3:=MAX(spalte2))>@max1, @max3, @max1) ....

Genaugenommen würde ich allerdings die drei Maximalwerte abfragen und dann im Programm (PHP, C, C++, ... ) vergleichen, weil jeder Join im verhältniss dazu meistens unverhältnismässig lange dauert ...

Die beste Lösung ist in dem Falle also 'ne 'Richtige Datenbank' :teach:

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:19 Uhr.