Declaración de caso de T-SQL en una cláusula JOIN ON

stoy tratando de construir una declaración de caso / si en unJOIN ON cláusula.

LEFT JOIN [CTSTRC] [Statuses] ON RIGHT([Statuses].[STRID], 3) = [CTE].[F61]

El problema es que la columna[Statuses].[STRID] contiene texto y números. La columna la estoy comparando con[CTE].[F61] es un entero.

¿Hay alguna manera de detectar si la columna[Statuses].[STRID] tiene un carácter o un número y ENTONCES lo establece en 0 si es un carácter?

Aquí hay una pseudo consulta para ayudar:

LEFT JOIN [CTSTRC] [Statuses] ON RIGHT((CASE [Statuses].[STRID] WHEN TEXT THEN 0 ELSE CAST([Statuses].[STRID] AS INT) END), 3) = [CTE].[F61]

¿Alguien me puede apuntar en la dirección correcta

¡Gracias

Respuestas a la pregunta(12)

Su respuesta a la pregunta