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

Juntar dos consultas en una

Estas en el tema de Juntar dos consultas en una en el foro de Mysql en Foros del Web. Buenas noches. Alguien puede ayudarme porfavor. Tengo la siguiente tabla: tb_objetivos2 @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original pk_obj2 int ( 11 ) AI PK mes ...
  #1 (permalink)  
Antiguo 19/02/2015, 17:26
 
Fecha de Ingreso: febrero-2015
Mensajes: 2
Antigüedad: 9 años, 10 meses
Puntos: 0
Juntar dos consultas en una

Buenas noches. Alguien puede ayudarme porfavor.
Tengo la siguiente tabla:

tb_objetivos2
Código MySQL:
Ver original
  1. pk_obj2 int(11) AI PK
  2. mes  varchar(45)
  3. nom_osi varchar(200)
  4. nom_componente  varchar(200)
  5. fec_entrega_osi date
  6. fec_entrega_cet  date
  7. obj2_obs  varchar(250)
  8. e_tiempo  varchar(10)
La tabla esta con los siguientes datos:
Código MySQL:
Ver original
  1. # pk_obj2, mes, nom_osi, nom_componente, fec_entrega_osi, fec_entrega_cet, obj2_obs, e_tiempo
  2. '23', 'Enero', '125', 'ksdjhfjksdh fksdh kf', '2014-02-25', '2014-02-18', 'lksdjfklsdlfdj', 'SI'
  3. '24', 'Febrero', '789', 'uihuiy', '2014-02-18', '2014-02-19', '', 'NO'
  4. '37', 'Enero', '65456jgjg', 'skdnfkdshf', '2015-01-25', '2015-01-15', 'njkn', 'SI'
  5. '38', 'Febrero', '675', 'Nuevo componente', '2015-02-20', '2015-02-27', 'hola esto es una observacion del objetivo', 'NO'
  6. '39', 'Febrero', '876i', 'lkjikhilhloi hoij', '2015-02-18', '2015-02-10', '', 'SI'
  7. '40', 'Enero', 'xknvf', 'componente', '2015-01-28', '2015-01-15', 'akjsdhfkadhsf', 'SI'
  8. '41', 'Enero', '987-90', 'jkbjkkjkl', '2015-01-20', '2015-01-15', '', 'NO'
He realizado ésta consulta que me cuenta todos los registros totales x mes no interesa el condicional
Código MySQL:
Ver original
  1. select mes, count(*) as TOTAL_REGISTROS from tb_objetivos2 group by mes;
  2.  
  3. Obteniendo:
  4.  
  5.                             TOTAL_REGISTROS
  6. Enero                        4
  7. Febrero                      3
Enn esta consulta Cuento el total de entregas agrupados por mes, siempre y cuando la columna e_tiempo tenga 'SI' , obteniendo lo siguiente:
Código MySQL:
Ver original
  1. select mes, count(*) as TOTAL_ENTREGAS from tb_objetivos2  where e_tiempo='SI' group by mes ;
  2. Obteniendo:
  3.                             TOTAL_ENTREGAS
  4. Enero                       3
  5. Febrero                     1
Quisiera que al unir mi consulta en una sola, me pueda dar como resultado lo siguiente:
Código MySQL:
Ver original
  1. Obteniendo:
  2.                             TOTAL_ENTREGAS  |  TOTAL_REGISTROS
  3. Enero                       3                           4
  4. Febrero                     1                           3

Agradecidos por su ayuda desde ya.
Saludos.

Última edición por k4nd2d1r; 20/02/2015 a las 07:40
  #2 (permalink)  
Antiguo 20/02/2015, 10:16
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 11 meses
Puntos: 447
Respuesta: Juntar dos consultas en una

Hola k4nd2d1r:

Lo que quieres hacer es bastante simple, se utilizan SUMAS CONDICIONALES... que es el equivalente en programación al concepto de CONTADORES... en este foro hemos tratado muchas veces este tipo de sumas, utiliza la herramienta de búsqueda para

simplemente tienes que hacer algo así...

Código:
SUM(IF(condición, 1, 0))

o

SUM(CASE WHEN condición THEN 1 ELSE 0 END)
Esto es lo mismo que hacer en programación un contador tipo Total = total + 1 cada vez que se encuentra un caso que cumpla la condición.

Haz la prueba y nos comentas y si continuas con problemas, postea lo que intentaste hacer y con gusto te ayudamos a resolver

Saludos
Leo

Etiquetas: juntar, registro, select, tabla
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 14:55.