Я борюсь за несколько дней с этой проблемой, и я не могу понять, как я могу ее исправить.
Я хотел бы group by
мою таблицу по значениям 1,2,3,4,5, поэтому я создал временную таблицу с этими значениями.
Теперь мне нужно ВХОДИТЬ В эту таблицу с другими таблицами на a.value = #myTempTable.num
BUT a.value
есть ntext
, поэтому мне нужно КОНВЕРТИРОВАТЬ его, что я на самом деле делал, но я получаю сообщение об ошибке:
Conversion failed when converting the varchar value 'simple, ' to data type int.
(в строке 7)
Create table #myTempTable
(
num int
)
insert into #myTempTable (num) values (1),(2),(3),(4),(5)
SELECT a.name, CONVERT(INT, CONVERT(VARCHAR(12), a.value)) AS value, COUNT(*) AS pocet
FROM
(SELECT item.name, value.value
FROM mdl_feedback AS feedback
INNER JOIN mdl_feedback_item AS item
ON feedback.id = item.feedback
INNER JOIN mdl_feedback_value AS value
ON item.id = value.item
WHERE item.typ = 'multichoicerated' AND item.feedback IN (43)
) AS a
INNER JOIN #myTempTable
on CONVERT(INT, CONVERT(VARCHAR(12), a.value)) = #myTempTable.num
GROUP BY a.name, CONVERT(INT, CONVERT(VARCHAR(12), a.value)) ORDER BY a.name
drop table #myTempTable
Я не получаю эту ошибку без последней INNER JOIN
INNER JOIN #myTempTable on CONVERT(INT, CONVERT(VARCHAR(12), a.value))
= #myTempTable.num
Не могли бы вы мне помочь? Я в отчаянии.
Спасибо.