Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Consulta entre dos tablas en Access (SQL)

Estas en el tema de Consulta entre dos tablas en Access (SQL) en el foro de Bases de Datos General en Foros del Web. A ver si me podeis ayudar: Imaginar que tengo dos tablas de productos y pesos. Como se refieren a distintas medidas, para un mismo dia ...
  #1 (permalink)  
Antiguo 14/04/2005, 08:03
 
Fecha de Ingreso: abril-2005
Mensajes: 2
Antigüedad: 19 años
Puntos: 0
Consulta entre dos tablas en Access (SQL)

A ver si me podeis ayudar:

Imaginar que tengo dos tablas de productos y pesos. Como se refieren a distintas medidas, para un mismo dia y producto puede haber varios pesos.

Tabla1

Id - Dia - Codigo - Peso
1 - 10/04/2005 - 1 - 84
2 - 10/04/2005 - 2 - 50
3 - 10/04/2005 - 2 - 45
4 - 11/04/2005 - 3 - 64

Tabla2

Id - Dia - Codigo - OtroPeso
1 - 09/04/2005 - 4 - 63
2 - 10/04/2005 - 2 - 75

Quiero relacionar estas dos tablas de modo que para cada dia y codigo obtengamos:
- la suma de los pesos de la tabla1
- la suma de los pesos de la tabla2
- la diferencia entre las dos medidas
es decir

Consulta
Id / Dia / Codigo / Peso1 / Peso2 / Diferencia
1 / 09/04/2005 / 4 / 0 / 63 / -63
2 / 10/04/2005 / 1 / 84 / 0 / 84
3 / 10/04/2005 / 2 / 95 = 50 + 45 / 75 / 20
4 / 11/04/2005 / 3 / 64 / 0 / 64

A lo maximo que he llegado es a esto:

Codigo / OtroPeso / 10/04/2005
1 / 75 / 84
2 / 75 / 95

para el 10/04/2004, lo cual es incorrecto ya que del codigo 2 no hay pesaje en la tabla 2, deberia haber puesto

Codigo / OtroPeso / 10/04/2005
1 / 75 / 84
2 / 0 / 95

He usado la siguiente sentencia

TRANSFORM Sum(Tabla1.Peso) AS Peso1
SELECT Tabla1.Codigo, Tabla2.OtroPeso
FROM Tabla1 INNER JOIN Tabla2 ON Tabla1.Dia = Tabla2.Dia
GROUP BY Tabla1.Codigo, Tabla2.OtroPeso
PIVOT Tabla1.Dia;

Muchas gracias por adelantado
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:25.