Calcular columna con datos de otras tablas en SQL Server 2014
Publicado por Victor Sanchez J (1 intervención) el 07/05/2017 14:21:37
Buenos dias a todos y de antemano gracias por la ayuda.
En este caso necesito saber como aplicar formula a una columna calculada de manera que rescate los valores de otra tabla. Me explico demostrando el caso:
Yo tengo 2 tablas que están ligadas con una FK
Tabla 1: Etnias
Columna 1: ID_Etnia (PK)
Columna 2: Nombre_Etnia
Columna 3: Poblacion_Total
Tabla 2: Territorios
Columna 1: ID_Territorios (PK)
Columna 2: Nombre_Territorio
Columna 3: Poblacion_Territorio
Columna 4: ID_Etnia (FK)
Se trata entonces de que una etnia puede tener varios territorios y con la FK se ligan las etnias. Ahora bien, la Columna Poblacion_Total de la tabla 1 me interesa que se calcule de manera tal que sume todos los campos Poblacion_Territorio siempre que Territorios.ID_Etnia sea igual a Etnias.ID_Etnias.
Si logro hacer esto, la idea sería, como es lógico, que la poblacion total sea la suma de las poblaciones de cada territorio de esa etnia. Espero haberme explicado.
Por medio de consultas y traveseando un poco di con lo siguiente:
SELECT SUM (Poblacion_territorio) FROM Territorios WHERE territorios.ID_Etnia = '1'
Y me arroja el resultado deseado, es decir, me arroja la suma de las poblaciones donde la etnia es 1. Sin embargo, el 1 lo coloque como ejemplo para probar la consulta. Me interesa entonces introducir la formula en el campo poblacion total como campo calculado de manera que el haga solo la consulta para cada Etnia.
Espero puedan ayudarme. Estoy seguro que se puede.
Saludos.
En este caso necesito saber como aplicar formula a una columna calculada de manera que rescate los valores de otra tabla. Me explico demostrando el caso:
Yo tengo 2 tablas que están ligadas con una FK
Tabla 1: Etnias
Columna 1: ID_Etnia (PK)
Columna 2: Nombre_Etnia
Columna 3: Poblacion_Total
Tabla 2: Territorios
Columna 1: ID_Territorios (PK)
Columna 2: Nombre_Territorio
Columna 3: Poblacion_Territorio
Columna 4: ID_Etnia (FK)
Se trata entonces de que una etnia puede tener varios territorios y con la FK se ligan las etnias. Ahora bien, la Columna Poblacion_Total de la tabla 1 me interesa que se calcule de manera tal que sume todos los campos Poblacion_Territorio siempre que Territorios.ID_Etnia sea igual a Etnias.ID_Etnias.
Si logro hacer esto, la idea sería, como es lógico, que la poblacion total sea la suma de las poblaciones de cada territorio de esa etnia. Espero haberme explicado.
Por medio de consultas y traveseando un poco di con lo siguiente:
SELECT SUM (Poblacion_territorio) FROM Territorios WHERE territorios.ID_Etnia = '1'
Y me arroja el resultado deseado, es decir, me arroja la suma de las poblaciones donde la etnia es 1. Sin embargo, el 1 lo coloque como ejemplo para probar la consulta. Me interesa entonces introducir la formula en el campo poblacion total como campo calculado de manera que el haga solo la consulta para cada Etnia.
Espero puedan ayudarme. Estoy seguro que se puede.
Saludos.
Valora esta pregunta
0