![]() |
Problema Con Union All
HOLA Y GRACIAS POR EL FORO
MI PROBLEMA ES EL SIGUIENTE: TENGO 2 TABLAS DE LAS QUE QUIERO EXTRAER DATOS: CABRAS Y MACHOS TABLA CABRAS: CODIGOCABRA, FECHANACIMIENTO, CODIGOMADRE TABLA MACHOS: CODIGOMACHO, FECHANACIMIENTO, CODIGOMADRE YO QUIERO REALIZAR LA SIGUIENTE CONSULTA: A PARTIR DE UN CODIGOMADRE QUIERO SABER EL NUMERO DE HIJOS TOTALES AGRUPADOS POR AÑO DE NACIMIENTO QUE TIENE ESA MADRE. (CABRAS Y MACHOS). CODIGOMADRE ES IGUAL QUE CODIGOCABRA. YO HE HECHO LO SIGUIENTE PERO NO ME SALE COMO YO QUIERO Select fechanacimiento Año,count(Codigocabra) Hijos from Cabras where madre='ADY92023' and (LibroGenealogico='RD' or Librogenealogico='RN') group by Año UNION ALL Select fechanacimiento Año,count(Codigomacho) Hijos from Machos where madre='ADY92023' and (LibroGenealogico='RD' or Librogenealogico='RN') group by Año order by AÑO desc Y ME MUESTRA LO SIGUIENTE: AÑO HIJOS 09/09/1998 1 04/09/1998 1 01/09/1998 1 10/09/1997 2 30/08/1996 1 30/08/1996 1 04/09/1995 1 YO QUIERO QUE SALGA EL 30/08/1996 ASI: AÑO HIJOS 30/08/1996 2 |
No uses UNION. Us aun select distinct sobre cabras y machos con un join que incluya todo.
Salu2, |
No controlo muy bien el JOIN
He intentado utilizando el JOIN pero no me sale, ¿ te importaria decirme mas o menos como se podria hacer?, es que el JOIN no lo manejo muy bien, gracias
|
Con lo que tu tienes lo englobas otra vez y ya esta....
con los inner join si no tienes tabla de madres al hacer el inner join unes registros con la misma madre formando un registro solo con lo que no cuentas dos... uhmmm eso creo hoy estoy denso :D |
Estimo que tienes una tabla maestra de madres, por lo tanto un left join es mas apropiado, aqui tienes una referencia para leer.
http://www.programacion.com/tutorial.../#sql_internas Salu2, |
La franja horaria es GMT +2. Ahora son las 23:52:09. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi