+ Antworten
Ergebnis 1 bis 6 von 6

Thema: Satznummer im SQL erzeugen

  1. #1
    mkuis ist offline Neuer Benutzer
    Registriert seit
    20.08.2009
    Ort
    Bonn
    Beiträge
    27

    Standard Satznummer im SQL erzeugen

    Hallo,

    gibt es eine möglich, in einer Spalte des Ergebnisse eine durchlaufende "Satznummer" zu erzeugen??? Dass würde mir bei der Kombination eines
    Insert into table2 select a,b,c from table1
    helfen.

    leider ist es nicht damit getan, in table2 das Feld als serial anzulegen....

    Vielleicht weiß ja jemand Rat...

    Gruß

    mkuis

  2. #2
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    220

    Standard

    Wenn Du 8.4 verwendest ist das ganz einfach:
    Code:
    SELECT row_number() over (), a, b, c 
    FROM my_table;
    
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  3. #3
    akretschmer ist offline Erfahrener Benutzer
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    4.473

    Standard

    Zitat Zitat von mkuis Beitrag anzeigen
    Hallo,

    gibt es eine möglich, in einer Spalte des Ergebnisse eine durchlaufende "Satznummer" zu erzeugen??? Dass würde mir bei der Kombination eines
    Insert into table2 select a,b,c from table1
    helfen.

    leider ist es nicht damit getan, in table2 das Feld als serial anzulegen....

    Vielleicht weiß ja jemand Rat...

    Gruß

    mkuis
    Was genau willst Du erreichen, was genau hast Du versuchst, und was genau ist passiert?

    Hint: Dinge wie row_number() existieren in/ab 8.4, aber ich sehe noch nicht wirklich, wo genau Du das brauchst und warum ein serial nicht auch in diesem Fall helfen sollte.


    Andreas
    --
    Papa-Kind-Kur vom 8. bis 29. September ;-)
    PostgreSQL Hosting
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    http://www.amazon.de/gp/registry/2APKFICAIYMWB
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    castorp ist offline Erfahrener Benutzer
    Registriert seit
    27.06.2009
    Beiträge
    220

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    Hint: Dinge wie row_number() existieren in/ab 8.4, aber ich sehe noch nicht wirklich, wo genau Du das brauchst
    Ich dachte an sowas:
    Code:
    INSERT INTO table2 (lfd_nr, a, b, c)
    SELECT row_number() over (), a, b, c 
    FROM tabl1
    
    A SQL query walks into a bar and sees two tables. He walks up to them and says 'Can I join you?'

  5. #5
    akretschmer ist offline Erfahrener Benutzer
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    4.473

    Standard

    Zitat Zitat von castorp Beitrag anzeigen
    Wenn Du 8.4 verwendest ist das ganz einfach:
    Code:
    SELECT row_number() over (), a, b, c 
    FROM my_table;
    
    Schon klar, aber das geht auch mit einer Sequence.

    Andreas, Brüssel, Europe ;-)
    --
    Papa-Kind-Kur vom 8. bis 29. September ;-)
    PostgreSQL Hosting
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    http://www.amazon.de/gp/registry/2APKFICAIYMWB
    https://www.xing.com/profile/Andreas_Kretschmer7

  6. #6
    mkuis ist offline Neuer Benutzer
    Registriert seit
    20.08.2009
    Ort
    Bonn
    Beiträge
    27

    Standard

    Danke, die Funktion row_number war genau das, was ich gesucht habe. Ich habe erst vor zwei Wochen auf 8.4 gewechselt (was sich in der Geschwindigkeit übrigens wirklch gelohnt hat!), und muß mich jetzt wohl mal mit den neuen Window-Funktionen auseinandersetzen.


    Danke für den Tipp!!

+ Antworten

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum