Seite 1 von 1

MAX-Funktion liefert nicht!

Verfasst: Di, 09.03.2010 16:19
von jal
Hallo,

also ich werde verrueckt mit der MAX-Funktion bei OO Base... kann mir bitte jemand helfen?
Ich habe die Tabelle "Artikel", in der u.a. die Felder "Bezeichnung" (als Text definiert) und "Einkaufspreis" (als Dezimal) vorhanden sind.

Im Grunde möchte ich einfach wissen, welche Artikel (d.h. "Bezeichnung") den höchsten "Einkaufspreis" hat. Ich schaffe es aber nicht. Ich habe mit folgenden Befehl versucht:

SELECT "Bezeichnung", MAX( "Einkaufspreis" ) AS "max Einkaufspreis" FROM "Artikel" GROUP BY "Bezeichnung"

Das Problem ist, dass dieser Befehl mir alle Werte/Felder von diesen 2 Spalten zeigt, und nicht nur das einziges max-Wert.

Was mache ich hier falsch?
Vielen Dank!
Schöne Grüße,
Jal.

Re: MAX-Funktion liefert nicht!

Verfasst: Di, 09.03.2010 16:41
von DPunch
jal hat geschrieben:also ich werde verrueckt mit der MAX-Funktion bei OO Base
Ich sehe hier jetzt kein Base-spezifisches Problem, wenn dann macht Dich wohl eher SQL als solches verrueckt ;)
SELECT "Bezeichnung", MAX( "Einkaufspreis" ) AS "max Einkaufspreis" FROM "Artikel" GROUP BY "Bezeichnung"
= Fasse alle Zeilen mit gleicher Bezeichnung zusammen und liefere mir als 2. Spalte den höchsten Einkaufspreis der zusammengefassten Bezeichnungen.

Versuch es mal lieber so:

SELECT
"Bezeichnung", "Einkaufspreis" AS "max Einkaufspreis"
FROM
"Artikel"
WHERE
"Einkaufspreis" = (SELECT MAX("Einkaufspreis") FROM "Artikel")

Re: MAX-Funktion liefert nicht!

Verfasst: Mi, 10.03.2010 09:44
von jal
@ DPunch:

das war's! hat es super geklappt!
Tja, tatsächlich SQL was mit verrueckt gemacht hat und nicht OoBase, allerdings als ich deine "Übersetzung" zu meinem SQL-Befehl "auf Deutsch" gelesen habe, habe ich dann realisiert, warum es nicht geklappt hatte!

Vielen herzlichen Dank!
Gruß,
jal.