Error de consulta:
Porque en ese LEFT JOIN donde la segunda tabla es "F", sólo te devolvería aquellos registros de la principal donde no hubiese fotos relacionadas, lo que no cumple con lo deseado.
Además, esa sintaxis te daría un error porque el alias "fotos" de la subconsulta anula los alias internos de la misma.
Cita: Entiendo que el OP está usando un mapeado de herencia en varias tablas, por lo que 1 id en principal, corresponde a una foto, o a un video.
Creo que no. Si te fijas está indicando que tiene dos tablas relacionadas con la cabecera (Principal), una para fotos y otra para videos.
Se requieren las tres tablas para responder esa consulta.
La última que le propongo le devolverá ambas cosas, o ningún dato en las columnas sino existen, haya lo que haya en las tablas secundarias.
Puede resultar poco claro porque la lógica de arquitectura de datos es diferente de la lógica de programación. Las cosas se piensan de otro modo (y no es broma).