Tengo una tabla que contiene una columna que actúa como una "bandera" que se usa para decidir desde qué tabla extraer información adicional (es decir, el valor 1 extrae de la tabla1, 2 de table2, etc.). Por lo general, simplemente me uno a la mesa usando índices/claves. Sin embargo, la tabla a la que podía unirme contenía información que se podía normalizar en tablas separadas, lo que me deja en la situación de usar una columna para decidir a qué tabla unirme.SQL Optimization - Unir diferentes tablas basadas en el valor de columna
Así que aquí está mi pregunta, ¿cuál es la forma más eficiente de unir diferentes tablas en función del valor producido en esta columna?
Estas son las dos formas en que sé cómo realizar esta tarea actualmente. Estoy bastante seguro de que son a la vez no es la solución óptima:
Tire de la información de mi mesa principal (que contiene el valor de la columna que decide en qué mesa para unirse), y luego a través de código en mi aplicación enviar consultas adicionales a obtener el resto de la información.
Vaya a la locura, regrese las columnas de cada tabla (incluso si no se usa). Luego, a través de mi código, ignore los nulos de las tablas que no se necesitan.
Qué tal el punto 1. Pero, póngalo en el procedimiento almacenado en lugar del código de la aplicación. –