2016-04-01 6 views
-1

Ich versuche, eine SQL-Abfrage Ergebnisse in eine Tabelle zu erfassen. Die Abfrage funktioniert gut ohne den Code um es in der Tabelle zu erfassen, aber ich bekomme Syntaxfehler in der Nähe von ')'. Jede Hilfe wäre willkommen.So erfassen Sie eine SQL-Abfrage in einer Tabelle

Select * 
Into #TempTable 
From  
    (Select 
     SUM ([Total Messages]) as WTMT , 
     SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], 
     SUM ([Average Time (Sec)]) as [Weekly Average Delivery Time], 
     (SUM ([Total Messages])- SUM ([Messages below threshold])) 
     As [Weekly Messages Above Threshold] 
    from [Weekly Mail Delivery Times ByServer]) 
+1

Haben Sie versucht - ah - Einfügen in SSMS und Formatierung es mehrere Zeilen um, so dass die fehlende offensichtlich wird)? – TomTom

+0

Siehe Conrad Lotz Antwort. Sie müssen der Ergebnismenge der Unterabfrage einen Alias ​​geben. – Kahn

Antwort

1

Ihre abgeleitete Tabelle muss ein Alias:

Select * Into #TempTable From 
(Select SUM ([Total Messages]) as WTMT , SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], SUM ([Average Time (Sec)]) as [Weekly Average Delivery Time], (SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold] from [Weekly Mail Delivery Times ByServer]) q 
2

Ich würde empfehlen, einen Aliasnamen für die Abfrage hinzu:

SELECT * INTO #TempTable VON SUM (SELECT ([Gesamte Beiträge ]) AS WTMT, SUM ([Nachrichten unterhalb der Schwelle]) AS [Wöchentliche Nachrichten unterhalb der Schwelle], SUM ([Durchschnittliche Zeit (Sek.)]) AS [Durchschnittliche wöchentliche Lieferzeit], (SUM ([Gesamte Beiträge]) - SUM ([Messages unter dem Schwellenwert])) AS [Wochen Nachrichten Above Threshold] FROM [Wöchentliche Postlaufzeiten ByServer] ) AS t

+0

Yup, kann keine Unterabfrage durchführen, ohne der resultierenden Menge einen Alias ​​zu geben. – Kahn

2

Entweder eine dieser beiden arbeiten

Select * 
Into #TempTable 
From (
     Select SUM ([Total Messages]) as WTMT , 
       SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], 
       SUM ([Average Time (Sec)]) as [Weekly Average Delivery Time], 
       (SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold] 
     from [Weekly Mail Delivery Times ByServer] 
     ) As X 

oder

Select SUM ([Total Messages]) as WTMT , 
     SUM ([Messages Below Threshold]) as [Weekly Messages Below Threshold], 
     SUM ([Average Time (Sec)]) as [Weekly Average Delivery Time], 
     (SUM ([Total Messages])- SUM ([Messages below threshold])) As [Weekly Messages Above Threshold] 
Into #TempTable 
from [Weekly Mail Delivery Times ByServer]