Announcement

Collapse
No announcement yet.

Datensätze als Spalten

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

  • Datensätze als Spalten

    Hallo,
    ich suche nach einer Möglichkeit aus einer Tabelle die Datensätze auszulesen und aus diesen Informationen eine neue Tabelle zusammen zu setzten. Jeder Datensatz soll eine Spalte in der neuen Tabelle repräsentieren. Die neu erstellte Tabelle wird nur temporär benötigt. Das ganze soll mit Hilfe von SQL auf einem MS SQL 7.0 Server geschehen. Der Client der die Datenempfängt ist in Delphi geschrieben. Dies sollte allerdings nichts zur Sache tun, da ich das Problem alleine mit SQL lösen möchte. Es wäre schön, wenn mir jemand helfen könnte, da ich aus der Dokumentation des SQL Servers nicht besonders Schlau werde. Wenn mir jemand eine Internetseite mit Beispielen in SQL nennen könnte wäre ich auch sehr dankbar.

    Danke im Vorraus

    Sebastian

  • #2
    Hallo,

    da mir bis jetzt noch keiner geantwortet hat, versuche ich meine Frage umzuformulieren, damit mein Problem vielleicht verständlicher wird.
    Ich möchte eine temporäre Tabelle dynamisch in einem SQL Script erzeugen. Ich benötige eine Anweisung der Form:
    ALTER Table #tmp_table
    ADD @colum_name int

    Bis jetzt bin ich jedoch an der Variablen gescheitert. Ich konnte auch noch nichts darüber in den Handbüchern zum MS SQL 7.0 finden, ob dies überhaupt möglich ist

    Comment


    • #3
      Hallo,

      da auch ein <i>SELECT COUNT(*) FROM @sTableName</i> illegal ist, würde ich beim ALTER TABLE-Aufruf die auszuführende SQL-Anweisung vorher als Zeichenkette zusammenbauen und erst dann über <b>EXEC</b> ausführen lassen. Das folgende Beispiel demonstriert die Vorgehensweise für eine SELECT-Abfrage, bei der der Tabellenname als Parameter übergeben wird:
      <pre>
      CREATE PROCEDURE GetCount
      @sTableName VARCHAR(50)
      AS
      DECLARE @sSQL VARCHAR(250)
      SET @sSQL = 'SELECT COUNT(*) FROM' + @sTableName
      EXEC(@sSQL)
      </pre>
      Die Stored Procedure kann auch aufgerufen werden:
      <pre>
      exec GetCount 'Kunden'
      </pre&gt

      Comment

      Working...
      X