Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-05-2006
poniente poniente is offline
Registrado
 
Registrado: ene 2006
Posts: 9
Poder: 0
poniente Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 26-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Poder: 19
waltergomez Va por buen camino
No uses UNION. Us aun select distinct sobre cabras y machos con un join que incluya todo.
Salu2,
Responder Con Cita
  #3  
Antiguo 29-05-2006
poniente poniente is offline
Registrado
 
Registrado: ene 2006
Posts: 9
Poder: 0
poniente Va por buen camino
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
Responder Con Cita
  #4  
Antiguo 29-05-2006
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Con lo que tu tienes lo englobas otra vez y ya esta....
Código SQL [-]
select Totales.Año,count(Totales.hijos) 
from 
(
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 ) as Totales

group by Año

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
Responder Con Cita
  #5  
Antiguo 29-05-2006
Avatar de waltergomez
waltergomez waltergomez is offline
Miembro
 
Registrado: may 2006
Posts: 202
Poder: 19
waltergomez Va por buen camino
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,
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Union de dos conexiones ElDioni Conexión con bases de datos 4 05-01-2006 14:43:15
Dudas con Union rogeriobeltran SQL 10 16-07-2004 22:30:22
Union en BDE eduarcol SQL 9 05-07-2004 18:49:10


La franja horaria es GMT +2. Ahora son las 07:47:42.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi