Inner join con varios campos group by
Publicado por Ivan (1 intervención) el 07/11/2015 20:34:46
Hola,
Me podrian ayudar a resolver esta query en sql? No soy capaz de que me funcione si tengo varias columnas o campos en la agrupación group by....
SELECT T1.POLIZA, T1.MATRICULA, T2.MATRICULA_2, T1.DNI_PRIMER, T1.DNI_PRIMER_2, T1.DNI_SEGUNDO, T1.DNI_SEGUNDO_2, T1.ACCESORIOS, T2.ACCESORIOS_2
FROM (SELECT [Extraccio 1 pt 1].POLIZA AS POLIZA, [Extraccio 1 pt 1].MATRICULA AS MATRICULA, [Extraccio 1 pt 1].DNI_PRIMER_CONDUCTOR AS DNI_PRIMER, [Extraccio 1 pt 1].DNI_SEGUNDO_CONDUCTOR AS DNI_SEGUNDO, Sum([Extraccio 1 pt 1].ACCESORIOS) AS ACCESORIOS, Sum([Extraccio 1 pt 1].EQUIPO_MUSICAL) AS EQUIPO_MUSICAL, Sum([Extraccio 1 pt 1].INVALIDEZ) AS INVALIDEZ, Count([Extraccio 1 pt 1].GARANTIAS) AS GARANTIAS FROM [Extraccio 1 pt 1] GROUP BY POLIZA, MATRICULA, DNI_PRIMER, DNI_SEGUNDO) AS T1
LEFT JOIN (SELECT [Extraccio 2 pt 1].POLIZA AS POLIZA, [Extraccio 2 pt 1].MATRICULA AS MATRICULA_2, [Extraccio 2 pt 1].DNI_PRIMER_CONDUCTOR AS DNI_PRIMER_2, [Extraccio 2 pt 1].DNI_SEGUNDO_CONDUCTOR AS DNI_SEGUNDO_2, Sum([Extraccio 2 pt 1].ACCESORIOS) AS ACCESORIOS_2, Sum([Extraccio 2 pt 1].EQUIPO_MUSICAL) AS EQUIPO_MUSICAL_2, Sum([Extraccio 2 pt 1].INVALIDEZ) AS INVALIDEZ_2, Count([Extraccio 2 pt 1].GARANTIAS) AS GARANTIAS_2 FROM [Extraccio 2 pt 1] GROUP BY POLIZA, MATRICULA_2, DNI_PRIMER_2, DNI_SEGUNDO_2) AS T2
ON T1.POLIZA = T2.POLIZA;
Muchas gracias!!
Me podrian ayudar a resolver esta query en sql? No soy capaz de que me funcione si tengo varias columnas o campos en la agrupación group by....
SELECT T1.POLIZA, T1.MATRICULA, T2.MATRICULA_2, T1.DNI_PRIMER, T1.DNI_PRIMER_2, T1.DNI_SEGUNDO, T1.DNI_SEGUNDO_2, T1.ACCESORIOS, T2.ACCESORIOS_2
FROM (SELECT [Extraccio 1 pt 1].POLIZA AS POLIZA, [Extraccio 1 pt 1].MATRICULA AS MATRICULA, [Extraccio 1 pt 1].DNI_PRIMER_CONDUCTOR AS DNI_PRIMER, [Extraccio 1 pt 1].DNI_SEGUNDO_CONDUCTOR AS DNI_SEGUNDO, Sum([Extraccio 1 pt 1].ACCESORIOS) AS ACCESORIOS, Sum([Extraccio 1 pt 1].EQUIPO_MUSICAL) AS EQUIPO_MUSICAL, Sum([Extraccio 1 pt 1].INVALIDEZ) AS INVALIDEZ, Count([Extraccio 1 pt 1].GARANTIAS) AS GARANTIAS FROM [Extraccio 1 pt 1] GROUP BY POLIZA, MATRICULA, DNI_PRIMER, DNI_SEGUNDO) AS T1
LEFT JOIN (SELECT [Extraccio 2 pt 1].POLIZA AS POLIZA, [Extraccio 2 pt 1].MATRICULA AS MATRICULA_2, [Extraccio 2 pt 1].DNI_PRIMER_CONDUCTOR AS DNI_PRIMER_2, [Extraccio 2 pt 1].DNI_SEGUNDO_CONDUCTOR AS DNI_SEGUNDO_2, Sum([Extraccio 2 pt 1].ACCESORIOS) AS ACCESORIOS_2, Sum([Extraccio 2 pt 1].EQUIPO_MUSICAL) AS EQUIPO_MUSICAL_2, Sum([Extraccio 2 pt 1].INVALIDEZ) AS INVALIDEZ_2, Count([Extraccio 2 pt 1].GARANTIAS) AS GARANTIAS_2 FROM [Extraccio 2 pt 1] GROUP BY POLIZA, MATRICULA_2, DNI_PRIMER_2, DNI_SEGUNDO_2) AS T2
ON T1.POLIZA = T2.POLIZA;
Muchas gracias!!
Valora esta pregunta


0