Я пытаюсь суммировать значения из двух строк. Чтобы сделать это, я вставляю строки в десятичные числа, добавляю их, а затем возвращаю обратно в строку для вывода. Также используйте max, чтобы избежать записи дублирования. У меня есть следующие строки в моем SP:Ошибка преобразования типа данных varchar в числовой при приведении varchar (max) в десятичный
Cast(Max(CASE WHEN QuestionID = 261 THEN CAST(Answer AS decimal) ELSE '' END) + Max(CASE WHEN QuestionID = 260 THEN CAST(Answer AS decimal) ELSE '' END) AS varchar) as Total
Поле Ответ VARCHAR (макс) и значение по умолчанию «».
Проблемы заключается в том, что я получаю сообщение об ошибке: Ошибка преобразование типа данных VARCHAR в числовой
все еще получаю сообщение об ошибке. Я нашел способ сделать это, он не самый изящный, но выполняет эту работу: 'Cast (Max (CASE WHEN QuestionID = 261 THEN CAST (Case When Answer = '' Then 0 Else CAST (Answer as decimal (9,2)) Конец как десятичный (9,2)) Конец) + Макс (CASE WHEN QuestionID = 260 THEN CAST (Case When Answer = '' Then 0 Else CAST (Отвечено как десятичный (9,2)) Закончить как десятичный (9 , 2)) Конец) AS varchar (Max)) как Total' – Milen
Как выглядит ваш запрос сейчас? Вы заменили '' '' 'на 0? – RichardTheKiwi
да, я сделал это. – Milen