Announcement

Collapse
No announcement yet.

Problem bei Abfrage?!

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

  • Problem bei Abfrage?!

    Hallo Leute,
    ich habe eine Tabelle die aus 2 Spalten besteht, in der ersten steht entweder ein "B" oder ein "F". In der zweiten steht Datum und Zeit "28.07.2009 17:26:00". In jeder Minute kommt ca. ein Datensatz dazu.
    Nun möchte ich eine Abfrage basteln die mir folgendes Ergebis bringt:
    Spalte 1: "0 Uhr - 1 Uhr" Spalte 2: Anzahl der Felder mit "B" Bsp: 5
    Dann "1 - 2 Uhr" und wieder die Anzahl der Felder mit "B" Bsp: 3.

    Am Ende müsste ich ja für ein Tag 24 Zeilen haben...

    Ist sowas überhaupt mit SQL möglich? Habe keine Anhnung wo ich anfangen soll.
    Hoffe ihr könnt mir helfen.

  • #2
    [HIGHLIGHT="SQL"]-- unter MS_SQL z.B so:
    -----------------------------------------------------------------
    WITH Test AS
    ( SELECT 'B' AS B, '28.07.2009 00:26:00' AS D UNION ALL
    SELECT 'F' , '28.07.2009 00:27:00' UNION ALL
    SELECT 'B' , '28.07.2009 00:28:00' UNION ALL
    SELECT 'B' , '28.07.2009 01:29:00'
    )
    SELECT CAST (DATEPART (Hour, D) AS CHAR(2))
    + ' Uhr - '
    + CAST (DATEPART (Hour, D) + 1 AS CHAR(2))
    + ' Uhr' AS Stunde
    , COUNT (DATEPART (Hour, D)) AS Anzahl_B
    FROM Test
    WHERE B = 'B'
    GROUP BY CAST (DATEPART (Hour, D) AS CHAR(2))
    + ' Uhr - '
    + CAST (DATEPART (Hour, D) + 1 AS CHAR(2))
    + ' Uhr'
    -------------------------------------------------------------------
    -- Ausgabe:
    -- Stunde Anzahl_B
    -- --------------- -----------
    -- 0 Uhr - 1 Uhr 2
    -- 1 Uhr - 2 Uhr 1
    -------------------------------------------------------------------
    -- DATEPART kann in Deinem RBMS anders heißen....
    -- Der WITH-Block ist hier nur für die Testdaten von Interesse...[/HIGHLIGHT]

    Comment


    • #3
      Danke dir schonmal,
      ist das ganze eigentlich im SQL von Access anwendbar? Oder gibt es da Unterschiede?

      Comment


      • #4
        Originally posted by SteeLMK View Post
        Danke dir schonmal,
        ist das ganze eigentlich im SQL von Access anwendbar?
        Keine Ahnung
        Originally posted by SteeLMK View Post
        Oder gibt es da Unterschiede?
        Bestimmt

        Comment


        • #5
          Oder gibt es da Unterschiede?
          Unterschiede gibt es (leider) immer, deshalb gibt es hier auch spezialisierte Unter-Foren; eines auch für MS Access.

          In MS Access kannst Du die FORMAT Funktion nutzen, um von Datum-Uhrzeit nur den Tag-Stunden Anteil zu bekommen; auf der Basis kannst Du dann gruppieren und zählen lassen.
          Der fixe Teil :00 ist dann nur für die "Kosmetik":
          [highlight=SQL]SELECT Format(Datum,'yyyy-mm-dd hh:00') AS DatumStunde,
          Count(*) AS Anz
          FROM DatumFlag
          WHERE DatumFlag.Flag = 'B'
          GROUP BY Format(Datum,'yyyy-mm-dd hh:00')[/highlight]
          Olaf Helper

          <Blog> <Xing>
          * cogito ergo sum * errare humanum est * quote erat demonstrandum *
          Wenn ich denke, ist das ein Fehler und das beweise ich täglich

          Comment


          • #6
            hmm bekomm das nicht so richtig gebacken, könntest du mir eine Beispiel Access File schicken? Würde mich freun,

            An: [email protected]

            Gruß

            Comment


            • #7
              bekomm das nicht so richtig gebacken, könntest du mir eine Beispiel Access File schicken?
              Das Beispiel steht oben.

              Woran hapert es denn nun?
              Olaf Helper

              <Blog> <Xing>
              * cogito ergo sum * errare humanum est * quote erat demonstrandum *
              Wenn ich denke, ist das ein Fehler und das beweise ich täglich

              Comment


              • #8
                Ah hat sich schon erledigt :P hatte was vertauscht. Nun geht es super,
                ich danke euch schonmal für eure Hilfe

                Gruß Mario

                Comment

                Working...
                X