Tout d'abord, nous vous souhaitons bonne année. J'ai un problème pour écrire une requête. Pendant l'exécution de ma requête, j'obtiens une erreur.Problème lors de la suppression des valeurs codées en dur à l'aide de la table temporaire
Requête:
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]
erreur
Msg 8114, niveau 16, état 5, Ligne 1
Erreur de conversion type de données varchar réel.
Ce que je suis invité à faire est que j'ai besoin de supprimer les valeurs codées en dur et besoin d'écrire des requêtes avec une table temporaire.
Merci à l'avance, Shashra
Informations insuffisantes. Quel est le lien entre vos 2 requêtes? Lequel donne l'erreur? Quels sont les schémas de vos tables? –
Si l'erreur est dans la première sélection ajouter où isnumeric (s.r1) = 1 à votre première requête – u07ch
@ u07ch - Ce n'est pas garanti pour résoudre le problème SQL Server est libre de faire la conversion d'abord et le filtre plus tard comme par cette question http://stackoverflow.com/questions/3088709/what-is-query-execution-doing-to-this-query-in-sql-server-2005/3088835#3088835 –