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

Mostrar filas con count = 0

Estas en el tema de Mostrar filas con count = 0 en el foro de SQL Server en Foros del Web. Buenas tardes, tengo la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT L . DESCRIPTION , COUNT ( O . PHONE ) FROM PCO_OUTBOUNDQUEUE ...
  #1 (permalink)  
Antiguo 28/06/2012, 04:50
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Mostrar filas con count = 0

Buenas tardes,

tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT L.DESCRIPTION, COUNT(O.PHONE)
  2. FROM PCO_OUTBOUNDQUEUE O
  3. RIGHT JOIN PCO_LOAD L
  4. ON O.LOADID = L.LOADID
  5. AND O.SERVICEID = L.SERVICEID
  6. WHERE (O.STATUS = 1
  7. OR O.STATUS = 41)
  8. GROUP BY L.DESCRIPTION

Con esto me trae todas las filas donde el count != 0, pero necesito que me miestre tambien las que el count no tiene registros, es decir, donde es igual a 0.

Espero vuestra ayuda para poder resolver esto.

Un saludo.
  #2 (permalink)  
Antiguo 28/06/2012, 05:47
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar filas con count = 0

algunos datos para ayudarte? ya probaste con un left join?
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 28/06/2012, 05:51
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

He probado con LEFT JOIN, CON INNER JOIN y nada, no consigo traer las filas donde el COUNT = 0.

Lo he intentado con COUNT(ISNULL(PHONE), 0) y tampoco. Ya no sé por donde coger esta consulta.

Un saludo.
  #4 (permalink)  
Antiguo 28/06/2012, 06:31
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar filas con count = 0

un ejemplo de tus datos??
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 28/06/2012, 06:33
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Esto es lo que me trae:

CAMPAÑA REGISTROS_DISPONIBLES
SNabril01-t2 1829
SNabril02-t2 3984
SNabril03-t2 5593
SNabril13-t1 2118
SNabril14-t1 8267
SNabril15-t1 11189
SNabril16-t2 2368
SNabril17-t2 2778
SNabril20-t2 8295
SNabril23-t1 4810

Pero necesito que me traiga tambien las filas donde el count = 0.
  #6 (permalink)  
Antiguo 28/06/2012, 06:53
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar filas con count = 0

si pero ese resultado de donde sale? estas uniendo 2 tablas, que valores hay en esas tablas, ya revisaste que tienes un group by por un campo que no es el que quieres contar??? quizas por ahi es donde esta el problema.

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 28/06/2012, 07:03
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Relacciono las dos tablas por el LOADID y el SERVICEID. Lo que hago despues es agrupar por la descripción de la campaña el total de registros que cumplen el WHERE.

Como hay registros que no cumplen la condición, hay muchas campañas donde le COUNT(PHONE) = 0, las cuales tambien necesito que se muestren.
Código SQL:
Ver original
  1. SELECT L.DESCRIPTION, COUNT(O.PHONE)
  2. FROM PCO_OUTBOUNDQUEUE O
  3. RIGHT JOIN PCO_LOAD L
  4. ON O.LOADID = L.LOADID
  5. AND O.SERVICEID = L.SERVICEID
  6. WHERE (O.STATUS = 1
  7. OR O.STATUS = 41)
  8. GROUP BY L.DESCRIPTION
  #8 (permalink)  
Antiguo 28/06/2012, 07:09
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar filas con count = 0

ok, y puedes poner datos de esas 2 tablas?? para poder ayudarte :)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 28/06/2012, 07:51
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Tabla PCO_LOAD
SERVICEID LOADID STATUS DESCRIPTION RDATE RECORDCOUNT PRIORITYTYPE PRIORITYVALUE
2000 227 D SNfebrero23 2012-02-22 19:00:45.827 19998 0 100
2000 228 D SNfebrero24 2012-02-24 16:40:52.937 24963 0 100
2000 229 D SNfebrero25 2012-02-24 16:52:26.703 24993 0 100


Tabla PCO_OUTBOUNDQUEUE

ID SERVICEID NAME PHONE CALLINGHOURS SOURCEID STATUS SCHEDULETYPE SCHEDULEDATE LOADID LASTAGENT LASTQCODE FIRSTHANDLINGDATE LASTHANDLINGDATE DAILYCOUNTER TOTALCOUNTER BUSYSIGNALCOUNTER NOANSWERCOUNTER ANSWERMACHINECOUNTER FAXCOUNTER INVGENREASONCOUNTER PRIORITY CAPTURINGAGENT PHONE1 PHONE2 PHONE3 PHONE4 PHONE5 PHONE6 PHONE7 PHONE8 PHONE9 PHONE10 PHONEDESC1 PHONEDESC2 PHONEDESC3 PHONEDESC4 PHONEDESC5 PHONEDESC6 PHONEDESC7 PHONEDESC8 PHONEDESC9 PHONEDESC10 PHONESTATUS1 PHONESTATUS2 PHONESTATUS3 PHONESTATUS4 PHONESTATUS5 PHONESTATUS6 PHONESTATUS7 PHONESTATUS8 PHONESTATUS9 PHONESTATUS10 PHONETIMEZONEID PHONETIMEZONEID1 PHONETIMEZONEID2 PHONETIMEZONEID3 PHONETIMEZONEID4 PHONETIMEZONEID5 PHONETIMEZONEID6 PHONETIMEZONEID7 PHONETIMEZONEID8 PHONETIMEZONEID9 PHONETIMEZONEID10 CURRENTPHONE CURRENTPHONECOUNTER TIMEZONEID COMMENTS
60125 2003 rafa 699147161 60125 99 P NULL 1 1002 96 2011-01-04 12:44:28.003 2011-01-04 12:44:28.003 0 0 0 0 0 0 0 1 1002 699147161 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 9 NULL
60126 2003 MIRIAM CANTERO DIAZ 927232543 60126 95 P NULL 1 1027 97 2011-01-04 12:16:38.297 2011-01-04 12:16:38.297 0 0 0 0 0 0 0 1 1027 927232543 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 9 NULL
60127 2003 sra nora 944704050 60127 99 P NULL 1 1035 106 2011-01-04 15:13:18.770 2011-01-04 15:13:18.770 0 0 0 0 0 0 0 1 1035 944704050 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 9 NULL titular agustina lo pensara
  #10 (permalink)  
Antiguo 28/06/2012, 08:37
 
Fecha de Ingreso: abril-2012
Ubicación: Capital Federal
Mensajes: 283
Antigüedad: 12 años
Puntos: 15
Respuesta: Mostrar filas con count = 0

Hola, por que no probas agregando en el where o.phone is null o o.phone = 0 y ahi filtras por esas dos condiciones, de esa manera la el count va a contar los que tienen valor igual a 0

Saludos
  #11 (permalink)  
Antiguo 28/06/2012, 09:32
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Solucionado con lo que comento damimg. Me he liado con la consulta cuando era muy fácil de resolver.

Muchas gracias, un saludo.
  #12 (permalink)  
Antiguo 05/07/2012, 10:13
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Vuelvo a retomar el tema. Ahora mismo tengo la siguiente consulta:

Código SQL:
Ver original
  1. SELECT L.DESCRIPTION AS CAMPAÑA, COUNT(O.PHONE) AS REGISTROS_DISPONIBLES
  2. FROM PREP.PCO_OUTBOUNDQUEUE O
  3. RIGHT JOIN PREP.PCO_LOAD L
  4. ON O.LOADID = L.LOADID
  5. AND O.SERVICEID = L.SERVICEID
  6. WHERE (O.STATUS = 1
  7. OR O.STATUS = 41
  8. OR O.PHONE IS NULL)
  9. AND (L.DESCRIPTION LIKE 'SN%')
  10. GROUP BY L.DESCRIPTION
  11. ORDER BY L.DESCRIPTION

Pero tengo el problema que si me trae los registros que están a 0, pero no todos lo que debería de traer y no tengo ni idea de porque.

Un saludo.
  #13 (permalink)  
Antiguo 05/07/2012, 10:55
Avatar de iislas
Colaborador
 
Fecha de Ingreso: julio-2007
Ubicación: Mexico, D.F.
Mensajes: 6.482
Antigüedad: 16 años, 9 meses
Puntos: 180
Respuesta: Mostrar filas con count = 0

Revisa tu filtro (where).......
__________________
MCTS Isaias Islas
  #14 (permalink)  
Antiguo 09/07/2012, 10:02
 
Fecha de Ingreso: julio-2010
Mensajes: 93
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Mostrar filas con count = 0

Solucionado, me había comido una opción en el filtro where. Muchas gracias a todos.

Un saludo.

Etiquetas: count, filas, select
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 05:45.