Announcement

Collapse
No announcement yet.

UPDATE in INSERT

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

  • UPDATE in INSERT

    Hallo,

    ich lasse eine Tabelle hiermit füllen:

    INSERT INTO tab_I_Straße(I_Str_Name,I_Str_User)
    SELECT DISTINCT imp_Str_Name, 'ich' AS X FROM tab_Import_xls

    Damit wird die Spalte I_Otl_Guid mit einem unigquidentifier aus einer anderen Tabelle beschrieben:

    UPDATE [NET_Tester].[dbo].[tab_I_Straße]
    SET I_Otl_Guid=(SELECT I_Otl_Guid From tab_I_Ortsteil WHERE I_Otl_Name =(SELECT imp_Otl FROM tab_Import_xls WHERE I_Str_Name=imp_Str_Name))

    Meine Frage ist nun, ob das UPDATE auch irgendwie in das INSERT hineingeschrieben werden kann. Denn so funktioniert es nur, wenn die Spalte 'I_Otl_Guid' mit 'NULL zulassen' belegt ist. Das ist allerdings nicht erwüscht.

    So hab' ich's probiert, funktioniert aber leider nicht:
    INSERT INTO tab_I_Straße(I_Str_Name,I_Str_User, I_Otl_Guid)
    SELECT DISTINCT imp_Str_Name, 'ich' AS X FROM tab_Import_xls, SELECT I_Otl_Guid From tab_I_Ortsteil WHERE I_Otl_Name =(SELECT imp_Otl FROM tab_Import_xls WHERE I_Str_Name=imp_Str_Name)

    Weiß jemand weiter?

  • #2
    Hallo Elliot,

    in Deinem Insert kannst Du Dir den Wert über ein Sub-Select ermitteln, müsste so aussehen:

    [HIGHLIGHT=SQL]
    INSERT INTO tab_I_Straße
    (I_Str_Name,I_Str_User, I_Otl_Guid)
    SELECT DISTINCT imp_Str_Name, 'ich' AS X,
    (SELECT I_Otl_Guid From tab_I_Ortsteil WHERE I_Otl_Name = tab_Import_xls.imp_Otl )
    FROM tab_Import_xls[/HIGHLIGHT]

    Olaf
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Hallo Olaf,

      vielen Dank für die schnelle und kompetente Hilfe.
      Funktioniert einwandfrei so!

      Gruß
      Lars

      Comment

      Working...
      X