Announcement

Collapse
No announcement yet.

Temporäre Tabelle - Felddatentyp?

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

  • Temporäre Tabelle - Felddatentyp?

    Hallo,

    ich möchte in einer stored procedure eine Tabelle zurückgeben, deren Daten aus mehreren einzelnen Abfragen unterschiedlicher Quellen zusammengefügt werden.
    Im Prinzip mach ich das so (vereinfachtes Beispiel):


    Code:
    SELECT Nachname as Feld1, Vorname as Feld2, ‘’ as Feld3 into #temptable1 from tblAdressen1
    SELECT Name1 as Feld1, Name2 as Feld2, Ort as Feld3 into #temptable2 from tblAdressen2
    SELECT Anschrift1 as Feld1, Anschrift2 as Feld2, Anschrift3 as Feld3 into #temptable3 from tblAdressen3
    
    INSERT INTO #temptable1 from #temptable2
    INSERT INTO #temptable1 from #temptable3
    
    SELECT * from #temptable1
    Problem ist der leere String in der ersten Zeile (‘’ as Feld3). Beim „INSERT INTO #temptable1 from #temptable2” kann der Ort nicht angefügt werden, da in der #temptable1 das Feld3, so meine Mutmaßung, vom Typ String der Länge 0 ist.
    Wie kann ich der #temptable1 mitteilen, dass das Feld vom Typ varchar(50) ist? Dann sollte es doch funktionieren, oder?

    Vielleicht gibt es ja auch elegantere Lösungen ...

    Vielen Dank
    Marco

  • #2
    Wieso überhaupt eine temporäre Tabelle? Das liefert das gleiche Ergebnis (aber ohne Probleme):

    SELECT Name1 as Feld1, Name2 as Feld2, Ort as Feld3 from tblAdressen2
    UNION
    SELECT Anschrift1, Anschrift2, Anschrift3 from tblAdressen3

    Der Unterschied zwischen UNION und UNION ALL sollte bekannt sein (sonst nachschauen!)
    und die Behandlung von NULL-Werten sollte auch überlegt werden.

    bye,
    Helmut

    Comment


    • #3
      Originally posted by hwoess View Post
      Wieso überhaupt eine temporäre Tabelle? Das liefert das gleiche Ergebnis (aber ohne Probleme):

      SELECT Name1 as Feld1, Name2 as Feld2, Ort as Feld3 from tblAdressen2
      UNION
      SELECT Anschrift1, Anschrift2, Anschrift3 from tblAdressen3

      Der Unterschied zwischen UNION und UNION ALL sollte bekannt sein (sonst nachschauen!)
      und die Behandlung von NULL-Werten sollte auch überlegt werden.

      bye,
      Helmut

      Danke, hat funktioniert ...

      Comment

      Working...
      X