FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
dudas con la clausula group by
hola buenas tardes a todos, mi problema es el siguiente, tengo una tabla can varios campos
entre los k estan cia varchar(50), no_cmunicacion int,status varchar k contiene valores como 'PROCESADA','EN PROCESO','CANCELADA' tengo registros en mi tabla y requiero sacar la cia, cantidad de comunicaciones, y la cantidad de de comunicaciones cuyo status es 'procesada' por ejemplo cia TOTAL_COMUNICACIONES COMUNICACIONES_PROCESADAS COMPAñIA DE PRUEBA 5 3 compañia x 3 2 y asi sucesivamente estoy tratandolo de hacer con la clausula group by pero no lo logro hacer: este es mi codigo
NOTA. MIVISTA ES UNA VISTA QUE TENGO EN MIBD K EXTRAE REGISTROS DE DOS TABLAS MEDIANTE UN INNER JOIN POR LO CUAL EL NO_COMUNICACION SE PUEDE REPETIR, POR ESO PUSE LA PALABRA DISTINC, EL PROBLEMA ES K ESTE QUERY ME TRAE LA INFORMACION INDEBIDA ES DECIR TOTAL_SOLICTUDE TOTAL_PROCESADAS 4 4 PERO SI CAMBIO EL STATUS A UN REGISTRO X Y LO PONGO EN POR EJEMPLO 'EN PROCESO' Y VUEVO A EJECUTAR EL QUERY ME DEVUELVE LO SIGUIENTE TOTAL_SOLICTUDE TOTAL_PROCESADAS 3 3 Y LO K DEBERIA DEVOLVER SERIA : TOTAL_SOLICTUDE TOTAL_PROCESADAS 4 3 ESTOY UTILIZANDO SQL SERVER 2000. gracias de antemano. |
#2
|
||||
|
||||
El problema está en que utilizas 2 COUNT en la misma consulta, por lo tanto les afecta el criterio que hay en el WHERE por igual. Es decir te está contando todas las que STATUS_CM='PROCESADA'. Para solucionarlo puedes usar UNION:
por un lado te calcula el total por cada naviera_SOLIC y por otro los que STATUS_CM='PROCESADA'. No se si es eso lo que pides.
__________________
No hope, no dreams, no love, my only escape is Underground |
#3
|
|||
|
|||
El Problema Persiste
HOLA COMPAÑERO GRACIAS POR TU RESPUESTA, REALICE EL QUERY COMO ME INDICASTE UTILIZANDO EL UNION Y ME PERSISTE EL MISMO PROBLEMA, ES DECIR LA CONSULTA ME DEVULVE DOS COLUMNAS QUE SON
NAVIERA_SOLIC TOTAL_SOLICITUDES PERO LO QUE REQUIERO ES QUE EL QUERY ME DEVUELVA TRES COLUMNAS QUE SON NAVIERA_SOLIC TOTAL_SOLICITUDES Y TOTAL_PROCESADAS donde total_solicitudes corresponde al primer count, y el total_procesadas corresponde a aquellas solicitudes que su status_cm sea procesada, NO SE SI ME DOY A ENTENDER, COMO LE HAGO PARA HACER ESTO ?.... |
#4
|
||||
|
||||
Los cálculos de los COUNTS si que los hace bien, sólo que en vez de mostrártelo en columnas te lo muestra en filas o registros
Mmmm... Para obtener la consulta que quieres puedes utilizar 2 consultas diferentes, una para cada COUNT, metiendo el resultado en 2 tablas temporales: en una metes los registros de la consulta de TOTAL_SOLICITUDES y en la otra los registros de la consulta de TOTAL_PROCESADAS. Luego haces un INNER JOIN entre las 2 uniendo por naviera_SOLIC y saldrá como tú quieres. Sería algo así:
__________________
No hope, no dreams, no love, my only escape is Underground |
#5
|
|||
|
|||
exactamente
hola hermano, hice lo k me dijiste con las dos consutas y resultó perfectamente bien, muchas gracias por tu ayuda y k dios te bendiga.
"el conocimiento es un don que crece a medida que se comparte". |
#6
|
|||
|
|||
Nuevo Problema
Hola Como Estas, Aunque Se Resolvio El Problema De Los Count, Ahora Surge Un Problema Nuevo, Se Trata De Que Si Por Ejemplo Hay Una Naviera K No Tiene Status_cm='procesada' El Query Saca A La Naviera Del Grupo, En Lugar De Ponerle Un Cero, Me Explico
Si Por Ejemplo Tengo Naviera Solic Total_solicitudes, Total_procesadas Naviera X 9 0 Entones En El Group By No Me Aparece La Naviera X, Es Como Si Para El Query No Existiera, Lo Que Kiero Es K El Query Me Presente La Informacion Aunque No Haya Totales Con Status_cm, Y Que En Lugar De Sacarlo Del Grupo Me Presente A Naviera_solic,total_solicitudes, Y Total_procesadas=0 En Caso De No Tener Ningun Status_cm='procesada', Creo K Esta Un Poco Enrredado... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Impresion de group header group footer | Manuel | Impresión | 3 | 11-11-2007 01:05:23 |
Clausula Like | JoseAntonio | SQL | 5 | 27-05-2007 07:28:47 |
Clausula LIKE | federiconqn21 | SQL | 3 | 28-12-2005 15:49:13 |
consultas anidadas: group by dentro otro group by | DobleSiete | SQL | 7 | 31-01-2005 14:59:31 |
Group Header, Detail y Footer Group en la misma pagina | MarcelRuz | Impresión | 0 | 20-04-2004 23:27:14 |
|