Announcement

Collapse
No announcement yet.

Fehlende Datum in SQL_Tabelle ergänzen

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

  • Fehlende Datum in SQL_Tabelle ergänzen

    Hallo Zusammen,
    ich kenne mich nicht mit Sql_Pragrammierung. Ich habe eine Frage und hoffe, dass mir jemand weiterhelfen kann. Ich habe eine SQL Abfrage bekommen. Hierzu lierfert meine Sql Abfrage eine tabelle mit datum und Anzahl

    Datum : Anzahl
    2015-01-15 68
    2015-01-16 44
    2015-01-19 16
    2015-01-20 98
    2015-01-21 47
    2015-01-22 50
    2015-01-21 1

    Wie kann ich meiner SQL_Abfrage ergänzen, damit die fehlende datum(hier ZB: 2015-01-17 und 2015-01-18 ) eingefügt werden und mit 0 ausfüllen.

    so habe ich die Sql Abfrage bekommen
    Code:
    USE BarForce SELECT CONVERT(date, ProductionDate) AS Datum, COUNT(CONVERT(date, ProductionDate)) As Anzahl FROM Slitte WHERE ProductionDate IS NOT NULL GROUP BY CONVERT(date, ProductionDate) ORDER BY CONVERT(date, ProductionDate)
    Danke für eure Hilfe

  • #2
    Du musst die zusätzlichen "Datums", die angezeigt werden sollen mit angeben.
    SQL arbeitet mit Mengen. Daten (oder Datums), die nicht da sind, also nicht in der Menge enthalten, können nicht abgefragt werden.
    Lösung
    Du musst also eine Tabelle hernehmen, die die fehlenden Datums enthält- jedes einzelne, gewünschte, vielleicht mit, vielleicht ohne Wochenende und sie mit Deinem Datenbestand joinen.
    Vielleicht hast Du schon irgendwo im System eine solche Tabelle, wenn nicht, musst Du sie anlegen und befüllen. Alternativ gibt es auch Verfahren, solche Hilfswerte "on-the-fly" zu generieren. Die Daten enstehen dann nur in dem Moment, wo sie abgefragt werden.

    Auch wenn das letzte Verfahren in meinen Augen sehr elegant ist, kommt man häufig zu dem Punkt, dass diese generierten Daten irgendwann nicht mehr reichen und man individuelle Merkmale besteuern muss, die nicht generierbar sind. In Deinem Fall denke ich da bspw. an landesspezifische Feiertage, Betriebsurlaub oder ähnliches.
    Gruß, defo

    Comment


    • #3
      Hallo Defo,
      Danke für die schnelle Rückmeldung
      wie gesagt, ich kenne mich mit sql nicht. ich habe mir gedacht vielleicht gibt es Befehle, die ich in meiner Abfrage ergänzen kann, um diese Fehlende daten auszufüllen. Da ich diese Tabelle mit C# in einem Diagramm darstellen sollte, werde ich versuchen eine andere Alternative in C# diese fehlende Daten zu ergänzen.
      Danke

      Comment


      • #4
        Du kannst natürlich in C# durch das Ergebnis iterieren und fehlende Datums mit Wert 0 ergänzen.

        Einen "einfachen Befehl" dafür in SQL gibt es nicht, aber eine "fast einfache" Alternative.

        Hier ist eine Lösung, die ziemlich nahe ist an dem was ich oben geschrieben habe, die fehlenden Werte werden generiert:
        http://stackoverflow.com/questions/1...eries-of-dates
        Ab hier:
        "You may use a variable generate date series:"
        Gruß, defo

        Comment

        Working...
        X