Cómo convertir una subconsulta SQL en una unión

Tengo dos tablas con una relación 1: n: "contenido" y "datos de contenido versionados" (por ejemplo, una entidad de artículo y todas las versiones creadas de ese artículo). Me gustaría crear una vista que muestre la versión superior de cada "contenido".

Actualmente uso esta consulta (con una simple subconsulta):

SELECT 
   t1.id, 
   t1.title, 
   t1.contenttext,
   t1.fk_idothertable
   t1.version
FROM mytable as t1
WHERE (version = (SELECT MAX(version) AS topversion
                  FROM mytable
                  WHERE (fk_idothertable = t1.fk_idothertable)))

La subconsulta es en realidad una consulta a la misma tabla que extrae la versión más alta de un elemento específico. Tenga en cuenta que los elementos versionados tendrán el mismo fk_idothertable.

En SQL Server intenté crear unindexed view de esta consulta, pero parece que no puedo porque las subconsultas no están permitidas en vistas indexadas. Entonces ... esta es mi pregunta ... ¿Puede pensar en una forma de convertir esta consulta en algún tipo de consulta con JOINs?

Parece que las vistas indexadas no pueden contener:

subconsultasexpresiones de tabla comunes tablas derivadasHAVING cláusulas

Estoy desesperado. Otras ideas son bienvenidas :-

¡Muchas gracias

Respuestas a la pregunta(7)

Su respuesta a la pregunta