Announcement

Collapse
No announcement yet.

insert mit Feldern aus 2ter Tabelle

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

  • insert mit Feldern aus 2ter Tabelle

    Hallo,

    nachdem ich nun mehrere Stunden gesucht und probiert habe muss ich nochmals
    eure Hilfe in Anspruch nehmen.

    Ich möchte Werte in eine Tabelle eintragen, wobei einzelne Felder, sofern vorhanden, aus einer anderen Tabelle stammen. Falls der Record in der 2ten Tabelle nicht existiert sollen default Werte eingetragen werden.

    Also mal Abstract

    select *
    from Tabelle1 as t1
    where t1.refnr = 1000

    insert into Tabelle2
    (refnr, Feld2, Feld3, Feld4, Feld5, Feld6)
    values (1000, t1.Wert1, t1.Wert7, t1.Wert3, 200, 150)

    Falls die refnr in Tabelle1 nicht existiert sollen die Werte bein insert durch 0
    ersetzt werden.

    Ich bring das nicht zusammen daraus einen Select zu bauen.

    Hoffe hier hat jemand einen guten Ansatz.

    Vielen Dank

    Jaguar

  • #2
    Vielleicht etwa so:

    if exists(select 1 from tabelle1 where refnr = 1000)
    insert into Tabelle2(refnr, Feld2, Feld3, Feld4, Feld5, Feld6)
    select refnr, Wert1, Wert7, Wert3, 200, 150 from tabelle1 where refnr = 1000
    else
    insert into Tabelle2(refnr, Feld2, Feld3, Feld4, Feld5, Feld6)
    values(1000, 0, 0, 0, 200, 150)

    bye,
    Helmut

    Comment


    • #3
      Ja Danke,

      ich denke damit bekomme ich das hin.

      Schönen Abend noch
      Jaguar

      Comment


      • #4
        Das ist aber dann kein SQL Statement mehr. In SQL allein könnte das so funktionieren:

        [highlight=sql]
        insert into Tabelle2 (refnr, Feld2, Feld3, Feld4, Feld5, Feld6)
        values (
        CASE refnr WHEN EXISTS(SELECT * FROM Tabelle1 WHERE refnr = 1000) THEN 1000
        ELSE 0
        END,
        t1.Wert1,
        t1.Wert7,
        t1.Wert3,
        200,
        150)
        [/highlight]

        Comment


        • #5
          Das sieht auf jeden Fall schneller aus.
          Ich werde das gleich mal testen.

          Vielen Dank, ihr seit eine klasse Community.

          Jaguar

          Comment

          Working...
          X