Announcement

Collapse
No announcement yet.

Zusammenfassen von 2 Datensätzen

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

  • Zusammenfassen von 2 Datensätzen

    Guten Tag

    ich hab ein Problem und zwar brauch Daten aus 2 Datensätzen.
    Ich habe als Bsp. einen Auszug aus der DB angehängt im xls Format.

    Und zwar brauch ich von dem 2. Datensatz das Datum und die Uhrzeit und vom 3. Datensatz die Dauer.
    Es ist aber nicht so wie in dem Beispiel das die Datensätze dirket aufeinander folgen sondern sind im normalfall einige Datensätze dazwischen stehen.

    Die Gemainsamkeiten sind die Spalte APL und die Zahl die die bei dem 2. Datensatz in APLSTAT steht dann immer beim nächsten Datensatz (hier im Beispiel im 3. Datensatz) von der Maschine der Spalte BA.

    Ich weiß nicht ob es das Thema schon mal gegeben hat aber ich wußte nicht wie ich die Suche formulieren sollte.

    Ich hoffe es kann mir jemand hier helfen.

    Gruß
    Jochen

    PS: seit 14:32 sogar mit Anhang
    Attached Files
    Zuletzt editiert von Genscher; 27.11.2007, 15:32.

  • #2
    Hallo!

    Warum ist es den nicht der 1 und der vierte Datensatz?
    Wie erkennt man den den 2. und 3., was haben die gemeinsam?

    BYE BERND

    Comment


    • #3
      Originally posted by Bernd Schulz View Post
      Hallo!

      Warum ist es den nicht der 1 und der vierte Datensatz?
      Wie erkennt man den den 2. und 3., was haben die gemeinsam?

      BYE BERND
      Hallo Bernd

      die gemeinsamtkeit ergibt sich aus der Spalte 'Auftrag', die ich ausgeblendet habe, da ist bei den Einträgen dich ich brauch ein Eintrag drin (2. und 3.) und bei den anderen ist diese Splate mit NULL belegt.
      So unterscheiden sich die Einträge.
      Ich hätte vllt. dazu schreiben sollen das es nur ein Auszug ist und nicht alle Spalten enthalten sind.

      Gruß
      Jochen

      Comment


      • #4
        ich muss meinen ersten Post korrigieren und zwar.
        Das ich den Eintrag brauche bei dem in der Spalte APL = 22 010 01 und in der APLSTATT = 000 (0) steht.
        Davon brauch ich das Feld DAUER

        Comment


        • #5
          Hallo!

          Links in einer Tabelle sind nicht so schwer

          select a.auftrag, a.Zeit, b.Dauer from myTable a, myTable b
          where a.APL = '22 010 01' and b.APLSTATT = '000 (0)'
          and a.auftrag = b.auftrag

          So OK?

          BYE BERND

          Comment


          • #6
            Hallo Bernd

            ich konne es leider nicht testen. Wählt deine Lösung den nächsten Eintrag mit 22 010 01 und 000 aus.
            Denn die Einträge kommen mehrmals am Tag vor.
            Ich komme leider nicht mehr dazu es zu testen ich mach es dann morgen Früh.

            Gruß
            Jochen

            Comment


            • #7
              Hallo!

              Entweder ich hatte zuviel Kaffe oder Deine Aufgabenbeschreibung war etwas dürftig...

              Mal so ganz umgangssprachlich, wie erkennt Du denn den nächsten GÜLTOGEN Datensatz? Da muss doch sowas wie eine fortlaufende ID existieren...

              Wenn Du mein kleines Beispiel um diese Information ergänzt
              and a.ID+1 = b.ID (was auch immer passen mag)
              dann sollte das doch klappen.

              BYE BERND

              Comment


              • #8
                Hallo Bernd

                wahrscheinlich war meine Aufgabenstellung etwas dürftig.
                Also zu der Tabelle es gibt mehrer Maschinen die Ereignisse eintragen also nicht nur die 22 010 01 es gibt auch 22 011 01 (ist aber nicht fortlaufend).

                Ein eindeutiges Feld hab ich gefunden doch leider ist es nicht ein ID Feld sondern wird ebenfalls von einem anderen System befüllt (siehe Anhang). Dieses Feld taugt glaub ich nur bedingt da es keine Fortlaufende Nummer beinhaltet.

                Der Unterschied könnte man in der Zeit suchen. Und zwar muss der Eintrag Nummer 2 immer vorher Erfolgen bevor. Also die Dauer kann erst eingetragen werden wenn der Status(APLSTAT) wieder '0' wird.

                Zur Erkälrung die Tabelle wird automatisch von Maschinen befüllt die verschiedene Statie eintragen. Und ich brauch den Status 140 und wenn dann die Maschine wieder läuft (APLSTAT = 0)wird die Dauer eingetragen für den Status der vorher war (in diesem Fall 140).

                Könnte man es so lösen:
                a.akt_zeit < b.akt_zeit

                Gruß
                Jochen
                Attached Files

                Comment


                • #9
                  Hallo

                  hab grad versucht mit:

                  select a.ZEIT, b.DAUER, a.SCHICHTDAT, a.AUFTRAG, a.BA, a.APLSTAT, a.APL
                  from bde_log a, bde_log b where a.APL = '22 020 01' and a.SCHICHT = 'F' and a.APLSTAT = '140'
                  and a.akt_zeit like '%2007-11-26%' and a.akt_zeit < b.akt_zeit order by zeit;

                  nur werden hier nun alle Zeiten(Dauer) einem Eintrag zugeordnet.
                  Also z.B. ein Eintrag um 7:30 Uhr werden alle Zeiten(Dauer) zugeordnet die an dem Datum eingetragen worden sind. Also auch die die nicht den Status 140 haben.
                  Ich will aber nur den nächsten Eintrag haben wo dann APLSTAT 0 hat

                  Comment


                  • #10
                    Hallo!

                    Gottseidank ich hatte schon Angst ich müßte meinen Kaffekonsum eindämmen

                    select a.ZEIT, b.DAUER, a.SCHICHTDAT, a.AUFTRAG, a.BA, a.APLSTAT, a.APL
                    from bde_log a, bde_log b where a.APL = '22 020 01' and a.SCHICHT = 'F' and a.APLSTAT = '140'
                    and a.akt_zeit like '%2007-11-26%' and a.akt_zeit < b.akt_zeit
                    and b.aplstat = 0 <<<<HIER NEU
                    order by zeit;

                    So vielleicht?

                    BYE BERND

                    Comment


                    • #11
                      Bin jetzt leider zuhause und kanns leider nicht ausprobieren mach ich dann morgen.


                      Edit: Warum schreib ich ich eigentlich leider. Man ich glaub ich muss meinen Arbeitskonsum eindämmen

                      Comment

                      Working...
                      X