I я пытаюсь построить оператор case / if в предложении JOIN ON
.
LEFT JOIN [CTSTRC] [Statuses] ON RIGHT([Statuses].[STRID], 3) = [CTE].[F61]
Проблема в том, что столбец [Статусы]. [STRID]
содержит текст и числа. Столбец, который я сравниваю с [CTE]. [F61]
является целым числом.
Есть ли способ определить, содержит ли столбец [Статусы]. [STRID]
символ или число, а ЗАТЕМ установить его на 0, если это символ?
Вот псевдозапрос в помощь:
LEFT JOIN [CTSTRC] [Statuses] ON RIGHT((CASE [Statuses].[STRID] WHEN TEXT THEN 0 ELSE CAST([Statuses].[STRID] AS INT) END), 3) = [CTE].[F61]
Может ли кто-нибудь указать мне правильное направление?
Спасибо!