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

Combinar datos de la misma tabla

Estas en el tema de Combinar datos de la misma tabla en el foro de Bases de Datos General en Foros del Web. Hola amigos, aqui mi primer post. Espero ayudar y ser ayudado. Gracias. Dada esta tabla con nombre Hoteles: Código HTML: HOTEL TIPO FECHA NATURALEZA 1 ...
  #1 (permalink)  
Antiguo 26/03/2008, 11:44
 
Fecha de Ingreso: marzo-2008
Mensajes: 8
Antigüedad: 16 años, 1 mes
Puntos: 0
Combinar datos de la misma tabla

Hola amigos, aqui mi primer post. Espero ayudar y ser ayudado. Gracias.

Dada esta tabla con nombre Hoteles:

Código HTML:
HOTEL TIPO       FECHA     NATURALEZA 
1      I     01/01/2008          E 
1      I     01/01/2008          E 
1      I     01/01/2008          D 
1      I     01/01/2008          D 
1      I     01/01/2008          D 
Me gustaria hacer una query que me devuelva el siguiente resultado, dónde COUNT_E y COUNT_D sean el sumatorio de registros que hay para el mismo hotel, tipo, fecha y distintas naturalezas. De este modo:

Código HTML:
HOTEL TIPO       FECHA     CONT_E     CONT_D 
1      I      01/01/2008     2          3 
Es possible? o debo de hacer 2 querys y luego combinarlas por código?

Muchas gracias.
  #2 (permalink)  
Antiguo 26/03/2008, 12:45
 
Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 3 meses
Puntos: 13
Re: Combinar datos de la misma tabla

Que base de datos es?

select hotel, tipo, fecha, sum(CASE NATURALEZA WHEN 'E' THEN 1 ELSE 0 END) as cont_e
,sum(CASE NATURALEZA WHEN 'D' THEN 1 ELSE 0 END) as cont_d
from HOTELES
group by hotel, tipo, fecha;

El CASE puede cambiar de una BD a otra el resto deberia funcionar en cualquiera.

Salu2
  #3 (permalink)  
Antiguo 27/03/2008, 04:39
 
Fecha de Ingreso: marzo-2008
Mensajes: 8
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Combinar datos de la misma tabla

Hola seyko,

La base de datos es Caché de Intersystems y estoy programando en csp.

Pero no te preocupes porque inmediatamente después de leer tu post, he consultado e investigado en la ayuda de mi base de datos la clausula CASE y si no es igual se le parece al 99%.

El resultado es exactamente lo que esperaba.

Muchas gracias por tu ayuda.

Ah! y lección aprendida.
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 02:30.