2016-06-21 5 views
-3

Ich muss Ergebnis einer SQL-Abfrage verwenden, um Spaltenaliase festzulegen. Bitte sehen Sie unten Skript und das Ergebnis des Skripts Ich muss es als Spaltenalias verwenden.Wie wird ein Spaltenalias als Ergebnis einer SQL-Abfrage festgelegt?

select 
    convert(varchar,DATEADD(month, -12, dateadd(d,-day(convert(date,dateadd(d,-(day(getdate())),getdate()))),convert(date,dateadd(d,+1-(day(getdate())),getdate())))),107), 
    convert(varchar,convert(date,dateadd(d,-day(convert(date,dateadd(d,-(day(getdate())),getdate()))),convert(date,dateadd(d,+1-(day(getdate())),getdate())))),107) 

Ich brauche die Antwort für meine Frage so schnell wie möglich.

+0

Spaltenkopf ** ** was ?. Wir sind auch kein "gib mir meine Antwort jetzt" Art von Service. Eigentlich sind wir alle hier freiwillig, also ist es wirklich unhöflich, hierher zu kommen und um eine Antwort zu bitten "so schnell wie möglich" – Lamak

+0

** Was ** ist eine Spaltenüberschrift? – JNevill

+0

@JNevill Ich vermute "column alias" – Lamak

Antwort

0

zwei Lösungen werden in der folgenden Verbindung beschrieben: Column alias based on variable

Erste Lösung:

  1. Stellen den Alias ​​in einem variablen
  2. die Abfrage als nvarchar definiert einen Verweis auf die Variable enthält.
  3. Führen Sie die Abfrage Sp_executesql

    SET @column_alias = 'new_title' 
    SET @sql = 'SELECT keycol, datacol AS ' + @column_alias + ' FROM Foo' 
    
    EXEC sp_executesql @sql 
    

Zweite Lösung mit: Benennen Sie die Spalte nach der Ausführung der Abfrage

INSERT INTO Results 
    SELECT keycol, datacol 
    FROM Foo 

    EXEC sp_rename 'Results.datacol', @column_alias, 'COLUMN' 
+0

Danke Alot @Gilles .. Es hat sehr geholfen! –