Information ausblenden
Willkommen im Forum für alle Datenbanken! Registriere Dich kostenlos und diskutiere über DBs wie Mysql, MariaDB, Oracle, Sql-Server, Postgres, Access uvm

Zusätzliche Zeilen in eine Tabelle einfügen

Dieses Thema im Forum "Microsoft SQL Server" wurde erstellt von mindhunter, 22 April 2016.

  1. mindhunter

    mindhunter Benutzer

    Hallo liebes Forum,

    mit einer Select-Anweisung wird eine Datentabelle erstellt. Nun sollen jeweils nach dem Eintrag "something" noch zwei zusätzliche Zeilen erzeugt werden, so dass die Tabelle wie folgt aussieht.

    something
    test1
    test2
    thing
    test1
    test2


    Code:
    select 'something' from dual
    
    union
    
    select 'thing' from dual

    Schöne Grüße
    Stefan
     
  2. akretschmer

    akretschmer Datenbank-Guru

    vielleicht so:

    Code:
    test=*# select * from bla;
     id |  val  
    ----+-------
      1 | val 1
      2 | val 2
      3 | val 3
    (3 rows)
    
    test=*# select case when n = 1 then val else 'test ' || n::text end from (select * from bla left join lateral (select * from generate_series(1,3) n) x on (true)) bla;
      case  
    --------
     val 1
     test 2
     test 3
     val 2
     test 2
     test 3
     val 3
     test 2
     test 3
    (9 rows)
    
    Das ist aber jetzt PostgreSQL.
     
  3. ukulele

    ukulele Datenbank-Guru

    Verstehe grad nicht so recht was du machen willst. Kommt der Wert "something" jetzt mehrfach oder nur einmal vor? Hängen die Werte von der Zeile "something" ab? Wo kommen test1 und test2 her oder sollen das die zusätzlichen Zeilen sein und wenn letzteres, warum kommen sie auch hinter "thing"?
    Code:
    WITH tabelle(spalte) AS (
       SELECT   'something'
       UNION ALL
       SELECT   'thing'
       ), zusatz(fk,spalte) AS (
       SELECT   'something','something'
       UNION ALL
       SELECT   'something','zusatz1'
       UNION ALL
       SELECT   'something','zusatz2'
       )
    SELECT   isnull(z.spalte,t.spalte) AS spalte
    FROM   tabelle t
    LEFT JOIN zusatz z
    ON     t.spalte = z.fk
    ORDER BY t.spalte,z.spalte
     
Die Seite wird geladen...

Diese Seite empfehlen

  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden