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

Я создал временную таблицу, которая получает значения из переднего конца .. используя функцию я вставить значения в временную таблицу ... Теперь данные в таблице Темп неоднозначны. .. он может быть целым или varchar .. , когда я передаю только int или varchar в таблицу temp, это нормально. , но если результат смешанный, запрос выдает сообщение об ошибке .. как с этим справиться? Ошибка конверсии при преобразовании значения varchar «английский» в тип данных int.запросов с использованием временных таблиц

это прекрасно ->

#temp 
1 

это не ->

1 
English 
+0

Какой тип вашей 'колонки geo_locationInfoM_taluka'? –

+0

varchar ... но тот же запрос также используется позже – 2013-02-20 09:54:14

+3

Какой RDMS это? –

ответ

0

Сколько значений у вас есть в вас временную таблицу? , если вы хотите использовать предложение IN, вы должны использовать только один столбец, который совпадает с вашим geo_locationInfoMajor_tbl.

попробовать это:

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

в основном моя таблица темпа имеет более 6 парматеров .. Целое и варчар. теперь, если значение, которое я сравниваю с временной таблицей, находится внутри таблицы temp, тогда мне нужно вернуть 1 – 2013-02-20 10:08:23

+0

IF (EXISTS (SELECT 1 FROM geo_locationInfo_tbl WHERE geo_locationInfo_value IN (SELECT * FROM #temp))) – 2013-02-20 10:09:36

+0

, так что в основном вы хотите проверить если ваше значение существует в вашей временной таблице? – Gericke

Смежные вопросы