Announcement

Collapse
No announcement yet.

Zeiger auf Datensatz

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

  • Zeiger auf Datensatz

    Hallo Miteinander,

    ich bin gerade dabei einen E-Mail-Versand zu schreiben ..

    Dabei habe ich eine Tabelle Workflow_Actual, die wie folgt aufgebaut ist.

    Workflow_Index | Workflow_ID | Sendtime | Send_To | Comment_By | Comment


    Die Tabelle WOrkflow_Actual ist mit folgenden Werten gefüllt

    1 | 1 | 10.08.2009 18:00:00 | [email protected] | test | test
    2 | 2 | NULL | [email protected] | test | test
    3 | 1 | NULL | [email protected] | test | test

    Nun zu meinem Problem ..
    ich möchte durch eine select anweisung mir alle "Workflow_Index"`s zurückgeben lassen, die bei der Sendtime is NULL stehen haben.
    diese select anweisung sieht wie folgt aus :
    Code:
    SELECT Workflow_Index 
    FROM Workflow_Actual 
    WHERE (Sendtime is NULL)
    dabei wisst ihr ja, dass man an dieser stelle 2 werte zurückbekommt ..
    einmal als ergebnis die 2 und die 3.

    nun möchte ich gerne mit der 2 und der 3. weiterarbeiten .. d.h. ich zeige auf die 2 aus dem gelieferten datensatz .. merke mir diese .. gehe in die tabelle workflow_actual ..und lass mir alle workflow_id`s zu dem passenden workflow_index ausspucken .. danach soll der zeiger um eine position nach unten wandern .. sozusagen auf die 3 .. und soll wieder in die tabelle workflow_actual gehen .. um mir dort alle workflow_id`s zu dem passenden workflow_index ausspucken ...

    nun zu meiner frage .. wie kann ich das realisieren .. hab schon an zeiger gedacht .. aber das is garnicht so einfach .. kann mir jemand ne richtung verraten, in die ich mich bewegen kann, damit ich auf die richtige spur komme.. ?!?



    danke für die hilfe !

    gruß Martin

  • #2
    Wieso so kompliziert? Erweitere das SELECT einfach um die Spalten die Du haben möchtest fertig.

    Dim

    EDIT: Falls es sich hier um eine komplizierte Beschreibung eines Subselect handelt:
    Code:
    select workflow_id from Workflow_Actual where workflow_index in (SELECT Workflow_Index 
    FROM Workflow_Actual 
    WHERE (Sendtime is NULL))
    Zitat Tom Kyte:
    I have a simple philosophy when it comes to the Oracle Database: you can treat it as a black box and just stick data into it, or you can understand how it works and exploit it as a powerful computing environment.

    Comment


    • #3
      zeiger auf datensatz

      hallo ..

      ich weiß nicht ob es dir bereits augefallen ist, aber ich hatte eine tablle vergessen .. hier nochmal der komplette text ...

      auf deine antwort noch schnell einzugehen .. auh selbst .. wenn ich ein subselect anwende .. bekomme ich immer mehrere datensätze angezeigt ..

      wie kann ich diese in eine art datensatz einlesen um sie anschließend weiterzuverarbeiten ?



      Hallo Miteinander,

      ich bin gerade dabei einen E-Mail-Versand zu schreiben ..

      Dabei habe ich mehrere Tabellen .. zum einen die Tabelle Workflow_Actual, die wie folgt aufgebaut ist.

      Workflow_Index | Workflow_ID | Sendtime | Send_To | Comment_By | Comment

      und zum anderen die Tabelle Workflow_item, die wie folgt aufgebaut ist.

      Index | Workflow_ID | Param | Value_Old | Value_New | Timestamp | Valid_Workflow | Valid_ Param

      Die Tabelle WOrkflow_Actual ist mit folgenden Werten gefüllt

      1 | 1 | 10.08.2009 18:00:00 | [email protected] | test | test
      2 | 2 | NULL | [email protected] | test | test
      3 | 1 | NULL | [email protected] | test | test
      Die Tabelle Workflow_Item sieht wie folgt aus

      1 | 1 | 9 | 20 | 21 | 10.07.2010 18:00:00 | True | True
      2 | 2 | 19 | 39 | 34 | 12.07.2010 19:00:00 | True | True
      3 | 1 | 4 | 19 | 18 | 11.07.2010 18:00:00 | true | true

      Nun zu meinem Problem ..
      ich möchte durch eine select anweisung mir alle "Workflow_Index"`s zurückgeben lassen, die bei der Sendtime is NULL stehen haben.
      diese select anweisung sieht wie folgt aus :

      Code:
      SELECT Workflow_Index 
      FROM Workflow_Actual 
      WHERE (Sendtime is NULL)
      dabei wisst ihr ja, dass man an dieser stelle 2 werte zurückbekommt ..
      einmal als ergebnis die 2 und die 3.

      nun möchte ich gerne mit der 2 und der 3. weiterarbeiten .. d.h. ich zeige auf die 2 aus dem gelieferten datensatz .. merke mir diese .. gehe in die tabelle workflow_actual ..und lass mir alle workflow_id`s zu dem passenden workflow_index ausspucken .. danach soll der zeiger um eine position nach unten wandern .. sozusagen auf die 3 .. und soll wieder in die tabelle workflow_actual gehen .. um mir dort alle workflow_id`s zu dem passenden workflow_index ausspucken ...

      nun zu meiner frage .. wie kann ich das realisieren .. hab schon an zeiger gedacht .. aber das is garnicht so einfach .. kann mir jemand ne richtung verraten, in die ich mich bewegen kann, damit ich auf die richtige spur komme.. ?!?

      danke für die hilfe !

      gruß Martin
      Zuletzt editiert von arcon; 30.07.2010, 13:53.

      Comment


      • #4
        zeiger auf datensatz

        was man evtl. auch dazu sagen sollte .. du denkst evtl. dass ich am ende in die richtung will, dass ich nur noch einen datensatz vorfinden will .. ist aber nicht so .. laut meiner tabellen bekomme ich die ergebnisse 2 und 3 zurückgegeben .. dann schau ich in die gleiche tabelle .. und such mir dort die passende workflow_group_id heraus .. also in dem fall die 1 und 2 ..

        in der tabelle workflow_item gibt es mehrere zeilen, die die worKFLOW_ID = workflow_group_Id führen ! das heißt .. das ich bei dem ergebeniss 2 .. dann nochmals 2 datensätze habe .. und bei der 3 einen datensatz .. und je mehr datensätze ich in workflow_item speicher.. desto größer wird die anzahl tzurückgelieferten datensätze ...

        Comment

        Working...
        X