Announcement

Collapse
No announcement yet.

zusätzlich eine Zahl bei Max()-Abfrage

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

  • zusätzlich eine Zahl bei Max()-Abfrage

    Hallo,
    ich habe keinen Weg gefunden in SQL bei einer max()-Abfrage zusätzlich die Bedingung hinzuzufügen, dass immer die Zahl 1 zurückgeliefert wird, falls alle ausgelesenen Werte kleiner 1 sind... Also quasi max(1, SQL-Query).
    Ich habe jetzt einen Pseudo-Eintrag in der Datenbank erstellt, der in der entsprechenden Spalte den Wert 1 hat, aber geht das nicht auch ohne?

    Schon mal vielen vielen Dank!

  • #2
    SQL Server z.B.

    [Highlight=SQL]SELECT CASE WHEN ISNULL(MAX(spalte),0) < 1 THEN 1 ELSE MAX(spalte) END
    FROM tabelle[/Highlight]

    Comment


    • #3
      ...oder z.B. MySQL:
      [highlight=sql]
      SELECT greatest( max( spalte ), 1 )
      FROM tabelle
      [/highlight]

      Gruß Falk
      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


      • #4
        Hier noch eine Lösung (hoffentlich allgemeingültig):

        select max(t.a) from
        (select 1 as a from tabelle
        union all select max(sp) as a from Tabelle) t
        Zuletzt editiert von frauwue; 18.10.2011, 14:22.
        docendo discimus

        Comment


        • #5
          Vielen Dank, habs mit greatest() gemacht und funktioniert einwandfrei...

          Comment


          • #6
            Hallo,
            Originally posted by frauwue View Post
            Hier noch eine Lösung (hoffentlich allgemeingültig):

            select max(t.a) from
            (select 1 as a from tabelle
            union all select max(sp) as a from Tabelle) t
            Ich denke mal wenn es "allgemeingültig" sein soll, dann muss man die Tabelle "tabelle" mit genau einem Datensatz anlegen. Ansonsten ist die Syntax doch wieder unterschiedlich
            MySQL: select 1
            Oracle: select 1 from dual
            ...

            Gruß Falk
            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


            • #7
              OK Falk,

              you are the greatest
              docendo discimus

              Comment

              Working...
              X