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

consulta registro vacio

Estas en el tema de consulta registro vacio en el foro de Mysql en Foros del Web. Hola buenas a todos. Me gustaria explicaros el problema que tengo ... Gracias. He tenido una duda respecto al tema de como poder ver el ...
  #1 (permalink)  
Antiguo 08/06/2011, 18:30
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
consulta registro vacio

Hola buenas a todos.
Me gustaria explicaros el problema que tengo ... Gracias.

He tenido una duda respecto al tema de como poder ver el resultado de un trabajador si no saliera en una consulta.

Me explico :

Tengo los trabajadores H1,H2,H3,H4,H5 .

Todos estos trabajadores tienen un valor en el campo de la tabla incidencia='KB', menos el trabajador por ejemplo "H3".

Quiero hacer que me cuente cuantos KB tienen los distintos conductores. En el caso de H4 no me saldria en la consulta, es decir
*Utilizando COUNT(indidencia)... where incidencia='KB'.....

Mostraria:

-H1 - 1
-H2 - 1
-H4 - 1
-H5 - 1

Explicado todo esto , quisiera que me saliera que el trabajador H3 que no tiene KB , me pusiera con el valor = 0;

-Mostrando finalmente :

-H1 - 1
-H2 - 1
-H3 - 0
-H4 - 1
-H5 - 1


La pregunta basicamente seria, como muestro los resultados que son 0 , tengo que usar PHP con arrays o algo?

Muchas gracias

Un saludo
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #2 (permalink)  
Antiguo 08/06/2011, 20:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta registro vacio

Código MySQL:
Ver original
  1. SELECT trabajador, SUM(IF(incidencia>=, 1, 0)) Incidencias
  2. FROM trabajadores
  3. GROUP BY trabajador;

En MySQL no existen los arrays. PHP es programación y no se deben tratar temas de programación en los foros de Bases de Datos. Para eso los lenguajes tienen sus respectivos foros (donde están los expertos en ellos).
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 09/06/2011, 06:16
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: consulta registro vacio

Hola buenas gnzsoloyo, gracias por respoender.

Sigo teniendo el problema:

- Lo que ami me gustaria es que me salieran todos los conductores , con los totales de veces que tienen la incidencia.
Me explico , ami me salen todos los conductores que tienen con sus totales si uno tiene 2 saldria un 2 si otro tubiera 1 ,etc... lo que yo quiero es que me salgan todos incluyendo los que no tienen ninguna incidencia indicandome con un 0.
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #4 (permalink)  
Antiguo 09/06/2011, 06:31
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: consulta registro vacio

Supongo que tendrás todos tus trabajadores en una tabla y todas las incidencias en otra y que esas dos tablas están relacionadas por el id_trabajador. Si no es así (a parte que estaría mal el modelo) explica tu modelo de datos y sobre todo donde tienes guardados los trabajadores. Si es así la consulta sería algo así

Código SQL:
Ver original
  1. SELECT t.id_trabajador, COUNT(*)
  2. FROM trabajadores t
  3. LEFT JOIN incidencias i ON
  4. t.id_trabajador = i.id_trabajador
  5. GROUP BY t.id_trabajador
  #5 (permalink)  
Antiguo 09/06/2011, 06:44
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta registro vacio

Opino lo mismo que Heimish2000.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 09/06/2011, 07:16
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Mensaje Respuesta: consulta registro vacio

Cita:
Iniciado por Heimish2000 Ver Mensaje
Supongo que tendrás todos tus trabajadores en una tabla y todas las incidencias en otra y que esas dos tablas están relacionadas por el id_trabajador. Si no es así (a parte que estaría mal el modelo) explica tu modelo de datos y sobre todo donde tienes guardados los trabajadores. Si es así la consulta sería algo así

Código SQL:
Ver original
  1. SELECT t.id_trabajador, COUNT(*)
  2. FROM trabajadores t
  3. LEFT JOIN incidencias i ON
  4. t.id_trabajador = i.id_trabajador
  5. GROUP BY t.id_trabajador
estoy haciendo la consulta desde una misma tabla .

Tengo los trabajadores que trabajan con un paquete.
Entonces por cada linea de registro que tiene un trabajador es un paquete.

Los campos son :

trabajador, numparada, tracking, tiposervicio

Me gustaria saber cuantos HF tiene cada conductor (es decir me gustaria saber cuantos paquetes con incidencia HF ha tenido cada conductor) , incluso el que no tiene que me saliera 0.

Muestro los datos visuales de cada conductor :

H1,1,AAAA,HF
H1,2,AAAB,HF
H1,3,AAAC,HF
H1,4,AAAD,HF
H1,4,AAAE,HF
H1,5,AAAF,KHF
H1,6,AAAG,HF

H2,1,VCXZ,HF
H2,2,FFFF,HF
H2,2,ZXCV,KB

H3,1,VCXZ,KB
H3,2,XXXX,KB
H3,3,ZXCV,KB

H4,1,AVCS,HF
H4,2,AAVC,HF
H4,3,ARRR,HF
H4,4,UUUT,KB
H4,5,JHUM,KB

H5,1,AAAZ,HF
H5,1,AAAF,HF
H5,1,AAAE,HF
H5,2,AADF,HF
H5,2,AABV,HF
H5,2,AAEX,HF

Aqui podemos ver los totales que me buscaria de los conductores:

Trabajador H1,total 'HF'=5
Trabajador H2,total 'HF'=2
Trabajador H4,total 'HF'=3
Trabajador H5,total 'HF'=5

Nota: Lo que quisiera que me mostrara seria tambien el total de H3.
Trabajador H3,total 'HF'=0

Yo ejecuto la siguiente consulta:

Código SQL:
Ver original
  1. SELECT trabajador,COUNT(incidencia)
  2. FROM datos
  3. WHERE fecha='2011-05-02' AND incidencia='HF'
  4. AND trabajador IN('H1','H2','H3','H4','H5')
  5. GROUP BY conductor;

pd:Loe he echo bastante visual para que se entendiera para que me pudierais ayudar ... Muchas gracias.

Un saludo
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #7 (permalink)  
Antiguo 09/06/2011, 07:28
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta registro vacio

La forma más fácil de lograr lo que quieres es usar dos tablas: Una donde estén registrados los trabajadores y otra donde estén los servicios brindados por ellos. con eso sí puedes hacerlo bien.
¿Tienes una tabla donde se registren los trabajadores?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 09/06/2011, 07:30
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: consulta registro vacio

Una tabla que me diga los distintos trabajadores? Es decir que en una tabla salgan todos los H1,H2,H3,H4,H5 ? , solamente uso una tabla con la que trabajo y hago las consultas.
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #9 (permalink)  
Antiguo 09/06/2011, 07:37
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta registro vacio

Código MySQL:
Ver original
  1. trabajador,
  2. sum(IF(tiposervicio='HF',1,0)) incidencia
  3. FROM trabajadores
  4. GROUP BY trabajador;
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #10 (permalink)  
Antiguo 09/06/2011, 07:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta registro vacio

Cita:
Una tabla que me diga los distintos trabajadores? Es decir que en una tabla salgan todos los H1,H2,H3,H4,H5 ? , solamente uso una tabla con la que trabajo y hago las consultas.
Entonces tienes un problema de diseño, de normalización, de consistencia...
Necesitas un modelo mejor diseñado para responder consultas. No puedes trabajar con una sola tabla, eso nunca se da.
Una base de datos no es una tabla. Los DBMS no son Excel.
¿Qué tanto conoces del diseño de bases de datos?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #11 (permalink)  
Antiguo 09/06/2011, 07:43
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: consulta registro vacio

Me ha funcionado con la que me has puesto , huesos52 , mil gracias.
Anteriormente tambien me la puso gnzsoloyo pero me acababa de funciona , nose si esque la pondria mal o algo...

Millones de gracias a los 2 ...
no sabeis lo que me haveis ayudado , gracias,gracias...
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #12 (permalink)  
Antiguo 09/06/2011, 07:46
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: consulta registro vacio

Medita lo que te dije sobre el diseño...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #13 (permalink)  
Antiguo 09/06/2011, 07:51
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Respuesta: consulta registro vacio

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Medita lo que te dije sobre el diseño...
Lo aré, intentare hacer un modelo E/R y mejorar la base de datos muchas gracias de verdad
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #14 (permalink)  
Antiguo 09/06/2011, 07:56
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Mensaje Respuesta: consulta registro vacio

Cita:
Iniciado por huesos52 Ver Mensaje
Código MySQL:
Ver original
  1. trabajador,
  2. sum(IF(tiposervicio='HF',1,0)) incidencia
  3. FROM trabajadores
  4. GROUP BY trabajador;
Si quisiera añadir al tipo de incidencia FL,como tendria que modificar el if?
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea
  #15 (permalink)  
Antiguo 09/06/2011, 07:58
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: consulta registro vacio

Código MySQL:
Ver original
  1. trabajador,
  2. SUM(IF(tiposervicio in('HF','FL'),1,0)) incidencia
  3. FROM trabajadores
  4. GROUP BY trabajador;

saludos ferranN10
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #16 (permalink)  
Antiguo 09/06/2011, 10:39
Avatar de FerraN10  
Fecha de Ingreso: junio-2011
Ubicación: Sant Joan Despí
Mensajes: 79
Antigüedad: 12 años, 10 meses
Puntos: 3
Mensaje Respuesta: consulta registro vacio

Millones de gracias huesos52 de nuevo :)
__________________
El fin de mi tarea no fue el fin sino el trayecto
Si vivir es la odisea el horizonte que clarea
En esta aldea parece perfecto así que bienvenido lo que sea

Última edición por FerraN10; 09/06/2011 a las 16:39

Etiquetas: registro, vacio
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 19:17.