Announcement

Collapse
No announcement yet.

Variablen in Select Query

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

  • Variablen in Select Query

    Hi, hab mal wieder ein kleines Problem. Habe ein Script welches auf MySQL läuft und muss das für Oracle zum laufen bringen. Folgende MySQL Query muss dabei Oracletauglich gemacht werden:

    Code:
    SELECT menge.ZEILE, menge.ID FROM 
    (
        SELECT @row:=@row+1 as ZEILE, loglist.*
        FROM 
        logtable loglist, (SELECT @row := 0) zl
        WHERE
        PART_ID=....
        ORDER BY loglist.DATE_STAMP ASC, loglist.ID ASC
    ) menge WHERE ZEILE=...;
    Ich gebe jeder Zeile (welche das erste WHERE erfüllt) nochmal ne eindeutige Nummer "ZEILE" um dann jeweils die vorherige bzw. nächste Zeile herauszufinden. Dafür brauch ich die Variable @row.
    Hab schon versucht bei Oracle mit ROWNUM zu arbeiten, problem dabei ist aber das die ORDER BY Klausel nach dem ROWNUM durchgeführt wird und dann die Zeilennummerierung nichtmehr klappt weils halt anders sortiert ist.

    So richtig blick ich bei den Variablen in Oracle nich durch, bzw. hat bis jetzt noch nix geklappt. Kann mir jemand auf die Sprünge helfen?

  • #2
    Was genau möchtest Du damit machen? Blättern?

    Das macht man in Oracle so.

    Dim
    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
      Ja blättern.
      Das row_number() hab ich mitlerweile auch entdeckt, wird die Zeilennummerierung dann nach der Sortierung durchgeführt? Weil wie schon geschrieben ging es mit der Constanten ROWNUM nicht. Da hatte ich dann Auflistungen wie z.b.:

      1
      2
      3
      5
      4

      6
      7

      Weil die Sortierung die Zeilen nochmal leicht verschoben hat. Und da kann man dann natürlich nicht richtig blättern.

      Danke schonmal!

      Comment


      • #4
        wird die Zeilennummerierung dann nach der Sortierung durchgeführt?
        Jep. Die anschließende Einschränkung wird dann im übergeordneten SQL durchgeführt.

        Dim
        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

        Working...
        X