2014-12-04 5 views
0

У меня есть оператор case, где я извлекаю данные из 1 из 2 полей FieldB, FieldC на основе значения FieldA. 3 поля находятся в 3 разных таблицах, связанных уникальным идентификатором. Так что мои заявления случае тянет от правильной таблицы на основе значения FieldA в Table1Ошибка несоответствия типа несоответствия 2 поле

Example Data. 
Table1.FieldA  Table2.FieldB   Table3.FieldC 
Manager    John     
AccountNumber        55 
BusTier1   Engineering 
BusTier2   QA 
BCAccount         297 
ProgramID         11-34.1/2 

Я пытаюсь получить

FieldA    Newfield 
Manager    John     
AccountNumber  55 
BusTier1   Engineering 
BusTier2   QA 
BCAccount   297 
ProgramID   11-34.1/2 

Я попытался литья как FieldB и FieldC в Varchar, NVARCHAR, VARCHAR2 и NVARCHAR2. Я получаю одну из двух ошибок: «Несоответствие типов» или «Недействительный номер». Все это находится вокруг поля ProgramID. Если я оставлю эту запись, я могу вытащить каждую вещь в одну колонку.

+0

Ну, разве вы не думаете, что это поможет показать нам SQL, который вы пытаетесь выполнить, и все типы данных соответствующего поля? – OldProgrammer

ответ

1

Заявление CASE должно возвращать одинаковый тип данных для всех случаев. Поэтому просто используйте TO_CHAR (FieldC) для преобразования числа в VARCHAR ...

+0

Отлично, что исправил его. благодаря –

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