Zunächst einmal wünsche ich Ihnen alles Gute zum neuen Jahr. Ich habe ein Problem beim Schreiben von Abfragen. Während der Ausführung meiner Abfrage wird ein Fehler angezeigt.Problem beim Entfernen von hartcodierten Werten mit Hilfe der Temp-Tabelle
Abfrage:
select case
when S.R1 = '6' then 5
when S.R1 = '7' then 6
when S.R1 = '8' then 7
when S.R1 = '9' then 8
when S.R1 ='10' then 9
else S.R1 end as Q
FROM [HelpService].[dbo].[help] s
-----------------------------------------------
SELECT [Source], [Score]
INTO #Temp_Q
FROM [HelpDesk].[dbo].[Survey]
WHERE [data_Source Name] = 'Text Data'
-----------------------------------------------
select CONVERT(REAL, a.[Dell Score]) as Q
FROM [HelpService].[dbo].[help] s
LEFT OUTER JOIN #CE_Temp_Q a on
s.[R1] = a.[Source]
ERROR
Msg 8114, Ebene 16, Status 5, Zeile 1
Fehlerdatentyp varchar auf reale Umwandlung.
Was ich gefragt werden, ist, muss ich die hart codierten Werte entfernen und müssen Abfragen mit einer temporären Tabelle schreiben.
Vielen Dank im Voraus, Shashra
Nicht genügend Informationen. Was ist die Verbindung zwischen Ihren 2 Abfragen? Welcher gibt den Fehler? Was sind die Schemata deiner Tabellen? –
Wenn der Fehler in der ersten ist, fügen Sie hinzu wo isnumeric (s.r1) = 1 zu Ihrer ersten Abfrage – u07ch
@ u07ch - Das ist nicht garantiert, um das Problem zu lösen SQL Server ist frei, die Konvertierung zuerst und der Filter später als pro diese Frage http://stackoverflow.com/questions/3088709/what-isquery-execution-doing-to-this-query-in-sql-server-2005/3088835#3088835 –