Announcement

Collapse
No announcement yet.

MIN und MAX

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MIN und MAX

    Hi.

    ich stehe gerade vor einem Problem. Ich hab eine Tabelle die folgerndermaßen aufgebaut ist:

    Produkt|Hersteller|PreisVon(Nord)|PreisBis(Nord)|P reisVon(Süd)|PreisBis(Süd)
    Seife | DEA | 1.00 | 5.00 | 1.50 | 3.50
    Seife | DOVE | 2.00 | 3.00 | 2.50 | 4.00
    Seife | SELA | 3.00 | 8.00 | 2.50 | 7.50
    Ball | PUMA | 23.00 | 40.00 | 30.00 | 50.00
    Ball | NIKE | 40.00 | 60.00 | 35.00 | 70.00


    Ich möchte jetzt eine Abfrage generieren die mir als Information folgendes ausgibt:
    Von allen Produkte sowohl den niedrigste Preis wie auch den höchsten Preis
    Beispie(Ausgabe):
    Produkt|MAX(Preis)|MIN(Preis)
    Seife | 8.00 | 1.00
    Ball | 70.00 | 23.00

    Ist das mit einer SQL ABfrage möglich?

  • #2
    Hallo,

    Eine Moeglichkeit waere:
    (mina = Preisvon(Nord), maxa = Preisbis(Nord), minb = Preisvon(Sued), maxb = Preisbis(Sued)
    Code:
    SELECT product,MIN(minvalue),MAX(maxvalue)FROM
    (SELECT product,
    CASEWHEN mina < minb THEN mina ELSE minb ENDAS minvalue,
    CASEWHEN maxa > maxb THEN maxa ELSE maxb ENDAS maxvalue
    FROM testproducts) a
    GROUPBY product
    
    Mit 'CASE WHEN ... THEN ... ELSE ... END' wird der jeweils kleinste / groesste Wert der aktuellen Zeile ermittelt und von der 'Parent - Query' (MIN(...), MAX(...)) verwendet.

    Hoffe das hilft dir weiter.
    *-- robert.oh. --*

    Comment


    • #3
      Super, das war was ich gesucht hab... kannte das mit CASE unter SQL nicht.

      Comment


      • #4
        'CASE WHEN ...' ist ein sehr maechtiges und nuetzliches Feature.

        Freut mich, dass es funktioniert!
        *-- robert.oh. --*

        Comment


        • #5
          Die meisten Datenbanken kennen aber auch sowas wie LEAST() und GREATEST()...
          Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

          Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

          Comment

          Working...
          X