SQL-Abfrage um fehlende Werte ergänzen



  • Hallo alle zusammen,

    ich habe eine Access-DB erstellt um Sensordaten aus verschiedenen Dateien zu importieren und dann auszuwerten. Bei der Auswertung soll ermittelt werden, wieoft jeder Messwert gemessen wurde. Das hab ich mit der folgenden Abfrage gelöst:

    SELECT Typ1.[Wert], Count(Typ1.[Wert]) AS Anzahl
    FROM Typ1
    WHERE Typ1.[Wert]>=1900 AND Typ1.[Wert]<=2050
    GROUP BY Typ1.[Wert]
    ORDER BY Typ1.[Wert];
    

    Jetzt habe ich nur das Problem, das bei der grafischen Aufbereitung der Daten mit Excel es schöner wäre, wenn auch die Werte ausgegeben werden, die nicht gemessen wurden.

    Derzeitiges Beispiel:

    Wert Anzahl
    1899 6
    1900 3
    1901 1
    1902 3
    1903 2
    1904 2
    1976 2
    1977 18
    1978 40
    1979 71
    1980 59
    1981 67
    1982 54
    1983 16
    1984 5

    Gewünschte Form:

    ...
    1904 2
    1905 0
    1906 0
    ...

    Über einen Tipp, die ich das mit SQL oder VBA machen kann, wäre ich euch sehr dankbar.



  • das müsste doch über ein union gehen. also du lässt die erste abfrage wie gehabt (mach nur das order by weg) und hängst folgende abfrage unten ran:

    UNION
    SELECT Typ1.[Wert], Count(Typ1.[Wert]) AS Anzahl
    FROM Typ1
    WHERE Typ1.[Wert]>=1900 AND Typ1.[Wert]<=2050
    GROUP BY Typ1.[Wert]
    HAVING Count(Typ1.[Wert])=0
    ORDER BY Typ1.[Wert];

    dann hängt er die datensätze an das bisherige ergebnis unten ran, die keine messwerte haben. anschliessend sortiert er über das gesamte ergebnis.

    hab das jetzt nicht getestet, müsste aber tun.



  • @temin: Belieben zu scherzen, oder ... ?

    HAVING(COUNG(Spalte)) = 0 kann ja wohl nicht gehen.

    Auf Deutsch übersetzt hiesse das "zeig mir die Daten die nicht da sind".
    Ein Datenbank Server versteht das aber nicht.

    @Korhil:
    Mach es Applikations-Seitig.
    Wenn du es in der Datenbank machen wolltest, bräuchtest du irgendeine "Row-Source" die dir fortlaufende Zahlen von N-M (1900 bis 2050) ausgibt.
    Dazu kann man sich natürlich Hilfs-Tabellen machen, die bloss aus einem Primary-Key bestehen. Bloss schön ist sowas nicht, von daher eben der Vorschlag: machs in der Applikation bevor du die Daten anzeigst.



  • Belieben zu scherzen, oder ... ?

    ähm.. ja! das war ich wohl schon ein bisschen überarbeitet und hab das problem nicht richtig verstanden. sorry, ist natürlich unsinn.
    🙄


Anmelden zum Antworten