Announcement

Collapse
No announcement yet.

min in where klausel

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

  • min in where klausel

    Hallo an alle,

    ich habe wiedermal eine schwere Nuss zu knacken und ich bekomme es einfach nicht hin! vielleicht könnt ihr mir einen Denkanstoß geben.

    ich habe folgende Tabelle (Beispiel)
    Buchungsnr. gebucht am
    342 20130501
    432 20130602

    ich will genau die Buchungsnr haben die die kleinste Differenz an Tagen hat zwischen gebucht am und dem aktuellen Tag (Sysdate). ich bin mir sicher das geht nur mit einer subselection ich bekomme es aber nicht hin!


    am liebsten würde ich hinschreiben
    Select * from meine_tabelle where min(SYSDATE-to_date(gebucht am,'yyyymmdd'))

    aussehen müsste es so:

    select * from meine_tabelle

    where Buchungsnr. =
    (
    select buchungsnr.
    from meine_tabelle where kleinste differnz

    )

    ihr seht ich stehe auf dem schlauch!

    wer kann helfen?

  • #2
    vielleicht hilft dir ja dieser link weiter

    http://stackoverflow.com/questions/1...n-dates-in-sql

    Comment


    • #3
      sorry das bringt mich noch nicht wirklich weiter aber danke trotzdem

      Comment


      • #4
        weitere quelle wenn ich bei google folgendes suche: SQL select smallest date diff
        http://www.w3schools.com/sql/func_datediff.asp

        ich bin ja jetzt kein SQL experte...
        aber:

        Code:
        Select * from meine_tabelle where min(DATEDIFF(day,to_date(gebucht am,'yyyymmdd'),SYSDATE))
        ist bestimmt falsch geschrieben, aber die funktion datediff haut mir google in fast jedem einzelnen psot zu der suche raus...

        Comment


        • #5
          Originally posted by deathdragon View Post

          wer kann helfen?

          ORDER BY <berechne die Differenz> ASC LIMIT 1

          Andreas

          Comment


          • #6
            Hallo,

            dieser Thread: Bei "doppelten" Datensätzen nur einen anzeigen sollte auch noch ein paar Lösungsmöglichkeiten aufzeigen.

            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
              danke falk! sehr interessant!

              aber ich habe es schon hinbekommen mit einer subselection und order by
              die subselection sucht den wert nach vorgabe min .... und nach asc werden alle sortiert und die haupselektion greift dann nur den ersten Datensatz

              somit habe ich den kleinsten gefunden! sehr gut danke jungs!

              aber!!! ich hätte noch ein Problemich poste es einfach mal hier mit rein da es genau dieses "Projekt" betrifft

              es kann nun vorkommen das kein ergebnis aus der abfrage erstellt wird deswegen würde ich gern folgendes testen:

              ergibt abfrage ergebniss wenn ja dann ist es ja gut aber wenn nicht dann mach andere abfrage :

              so in der Art stell ich mir das vor:

              case
              when (abfrage = Null then neue abfrage)

              ich muss sicher erst das ergebnis aus abfrage in eine temporäre variable speichern und diese dann überprüfen ob die leer ist oder?

              kann mir jemand sagen ob das stimmt ? vielleicht auch wie das geht ?!

              Comment

              Working...
              X