SQL - Calcular columna con datos de otras tablas en SQL Server 2014

 
Vista:

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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 806
Bronce
Ha mantenido su posición en SQL (en relación al último mes)
Gráfica de SQL

Calcular columna con datos de otras tablas en SQL Server 2014

Publicado por leonardo_josue (1173 intervenciones) el 08/05/2017 15:35:04
Hola Victor:

Lo que tienes que hacer es utilizar la cláusula GROUP BY para, como su nombre lo dice, agrupar los registros que te interesa de cada tipo:

1
2
3
4
5
6
7
SELECT
  territorios.ID_Etnia,
  SUM (Poblacion_territorio)
FROM
  Territorios
GROUP BY
  territorios.ID_Etnia

Si tienes dudas de cómo funciona esta cláusula, pregúntale a SAN GOOGLE, él te puede dar muchos ejemplos de su funcionamiento.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Calcular columna con datos de otras tablas en SQL Server 2014

Publicado por Jeanpierre (6 intervenciones) el 08/05/2017 16:19:50
Has usado el Inner Join para acceder a los campos de la tabla que deseas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar