La consulta base es simple, pero esto:
Cita: Le agregue la "e" para diferenciar el id de la tablaB con la tablaC, porque en la tablaB hay registros id que son iguales a registros que tiene la tablaC.
no tengo adjetivos para calificarlo.
Te diré que lo que tienes es un muy mal diseño de datos, porque lo que está intentado hacer es usar una misma FK para apuntar a dos tablas distintas, y eso simplemente no se debe hacer. Esencialmente ese es el problema: Lo que planteas es un error de diseño.
Normalmente esto se debería resolver por medio de herencia, pero no de esta forma.
No hay una
correcta solución para lo que planteas.