2013-02-20 6 views
1
SELECT 1 
FROM geo_locationInfoMajor_tbl 
WHERE geo_locationInfoM_taluka IN(SELECT * from #temp 

J'ai créé une table temporaire qui obtient ses valeurs de l'extrémité avant .. en utilisant une fonction insérer des valeurs dans la table temp ... maintenant les données du tableau de température est mélangé. .. il peut être entier ou varchar .. quand je passe seulement int ou varchar dans la table de temp il est bien. mais si la sortie est mélangée la requête renvoie une erreur .. comment faire face à cela? La conversion a échoué lors de la conversion de la valeur varchar 'English' en type de données int.requêtes en utilisant des tables temporaires

cela est bien beau ->

#temp 
1 

ce n'est pas ->

1 
English 
+0

Quel est le type de votre colonne 'geo_locationInfoM_taluka'? –

+0

varchar ... mais la même requête est également utilisée plus tard –

+3

Quel RDMS est-ce? –

Répondre

0

Combien de valeurs avez-vous en vous table temporaire? Si vous souhaitez utiliser la clause IN, vous ne devez utiliser qu'une colonne identique à votre geo_locationInfoMajor_tbl.

essayez ceci:

SELECT * FROM geo_locationInfoMajor_tbl 
WHERE geo_locationInfoM_taluka IN (SELECT geo_locationInfoM_taluka from #temp) 
+0

fondamentalement ma table de temp a plus de 6 parmaters. Entier et varchar. maintenant si la valeur que je compare avec la table temporaire est à l'intérieur de la table temporaire puis je dois retourner 1 –

+0

SI (EXISTS (SELECT 1 DE geo_locationInfo_tbl WHERE geo_locationInfo_value IN (SELECT * FROM #temp))) –

+0

Donc, fondamentalement, vous voulez vérifier si votre valeur existe dans votre table temporaire? – Gericke

Questions connexes