Tema destacado: Nueva página de elhacker.net en Google+ 
Autor
|
Tema: Donde esta mi error =( (Leído 1,623 veces)
|
RedZer
Desconectado
Mensajes: 654
|
miren resulta que quiero agrupar y contar 2 campos que tengan el mismo resultado en este caso mi campo se llama diags_clave ok pero antes de eso yo busco en mi tabla jqcalendar una fecha de inicio y una fecha final que aya digitado el usuario si se encuentra ambas fechas dentro de mi tabla jqcalendar genero otra consulta para contar mi campo diags_clave el problema es que me los cuenta pero no me los agrupa por ejemplo el campo diags_clave tiene 2 valores iguales los cuales son A000 se su pone que me me los deberia de agrupar los que tengan a A000 y mostrar solo un resultado de ellos, pero no me muestra eso su pongamos que en mi tabla tengo agregado 2 A000 pues me muestra los 2 en ves de agruparme los 2 resultados en uno solo yo quiero que haga lo si guiene A000=2 poero me ase esto A00=1 A00=1 mi codigo es el siguiente conectar(); $jcalendar=mysql_query("select * FROM jqcalendar WHERE StartTime BETWEEN '$ini' AND '$fin' AND asistencia='1' GROUP BY Subject "); desconectar(); if (mysql_num_rows($jcalendar)>0) { while ($rowj=mysql_fetch_array($jcalendar)) { //separo la ficha que se extrae de la tabla jcalendar $ficha=$rowj[1]; $partes=explode('-',$ficha); $aa=$partes[0]; $bb=$partes[1]; conectar(); $reporte=mysql_query("select diags_clave, count(diags_clave)as cuenta FROM reporte WHERE ficha='$aa' and codigo='$bb' GROUP BY diags_clave "); desconectar(); while ($row=mysql_fetch_array($reporte)) { echo $row['cuenta']."<br>"; } }//cierro el segundo while }//cierro el if llevo dias desarrollando este sistema quiza sea un error minimo pero ya estoy estresado me podrian decir que estoy asiendo mal porfavor
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
RedZer
Desconectado
Mensajes: 654
|
ya le intente y no le encuentro mi error 
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
No se, pero creo que es algo como lo siguiente, CREATE TABLE tblPoC( ID INT NOT NULL AUTO_INCREMENT, COD VARCHAR(10), DESCR VARCHAR(20), PRIMARY KEY (ID) ); INSERT INTO tblPoC(COD, DESCR) VALUES('A001', 'PoC1-A001'); INSERT INTO tblPoC(COD, DESCR) VALUES('A001', 'PoC2-A001'); INSERT INTO tblPoC(COD, DESCR) VALUES('A002', 'PoC1-A002'); INSERT INTO tblPoC(COD, DESCR) VALUES('A002', 'PoC2-A002'); INSERT INTO tblPoC(COD, DESCR) VALUES('A002', 'PoC3-A002'); Al realizar la siguiente consulta, el resultado es: mysql> SELECT COD AS 'Código', COUNT(COD) AS 'Cantidad' FROM tblPoC GROUP BY COD; +---------+----------+ | Código | Cantidad | +---------+----------+ | A001 | 2 | | A002 | 3 | +---------+----------+ 2 ROWS IN SET (0.00 sec) mysql> SELECT COD AS 'Código', COUNT(COD) AS 'Cantidad' FROM tblPoC WHERE (COD = 'A001') GROUP BY COD; +---------+----------+ | Código | Cantidad | +---------+----------+ | A001 | 2 | +---------+----------+ 1 ROW IN SET (0.00 sec) mysql>
|
|
|
|
« Última modificación: 9 Diciembre 2010, 19:52 por Shell Root »
|
En línea
|
 ---
|
|
|
RedZer
Desconectado
Mensajes: 654
|
no brother bueno mira en la primera consulta que se hace en la tabla jcalendar yo busco las fechas que ingresa el usuario si existe ago optra consulta del cual toma el numero de control del cliente de la tabla jcalendar para buscar en la segunda consulta y ahi es donde quiero agrupar el A001 por que si me lo muestra pero por ejemplo si en la tabla reporte hay dos pacientes con el mismo codigo osea este A001 pues me muestra los dos asi A001=1 A001=1 y yo quiero esto A001=2 que tengo mal en mi bucle ?? o hay otra forma de hacerlo
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Pero viste lo que hace la query que te deje?
|
|
|
|
|
En línea
|
 ---
|
|
|
RedZer
Desconectado
Mensajes: 654
|
si lo cheque brother pero es igual acomo yo lo tengo en la segunda consulta
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
No se cual es tú problema, porque mira el PoC que hice: $sHandle = mysql_connect( "127.0.01", "root", "root" ); mysql_select_db( "dbPoC", $sHandle ); $sSQL = "SELECT COD AS 'Código', COUNT(COD) AS 'Cantidad' FROM tblPoC GROUP BY COD;"; $sQuery = mysql_query( $sSQL, $sHandle ) or die( "Error: " . mysql_error() ); while( $sRows = mysql_fetch_array($sQuery) ){ echo "El código ". $sRows['Código'] ." tiene ". $sRows['Cantidad'] ." repeticiones.<br>"; } Resultado, El código A001 tiene 2 repeticiones. El código A002 tiene 3 repeticiones.
|
|
|
|
|
En línea
|
 ---
|
|
|
RedZer
Desconectado
Mensajes: 654
|
ok mira deja adaptar el codigo que me pasaste alo que me esta sdaliendo mal ok para que me entiendas aond e esta mi rpoblema
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
RedZer
Desconectado
Mensajes: 654
|
mira lo adapte alo que yo quiero hacer <?php $sHandle = mysql_connect( "127.0.01", "root", "" ); mysql_select_db( "regfis", $sHandle ); //en mi tabla jcalendar tengo 2 campos los cuales son StartTime y folio entonnces primero genero esta consulta para //saber si las fechas que introdujo el usuario existen esta consulta es obligatoria ya que estoy generando un reporte por //rango de fechas si existe las fechas indicadas dentro de mi tabla jcalendar genero otra consulta en este caso tomare el codigo que me pusiste y la misma tabla solo le agregue un campo que se llama folio a tu tabla tblPoC bueno la segunda consulta que genero es para comparar si el folio que esta en mi tabla jcalendar es igual al folio que esta en tu tabla tblPoC si es asi ahi debo de contar cuandos A001 existen $sSQL = "select * FROM jqcalendar WHERE StartTime BETWEEN '2010-12-01' AND '2010-12-06' GROUP BY Subject"; $sQuery = mysql_query( $sSQL, $sHandle ) or die( "Error: " . mysql_error() ); while( $sRows1= mysql_fetch_array($sQuery) ){ $sSQL = "SELECT COD AS 'Código', COUNT(COD) AS 'Cantidad' FROM tblPoC where folio='$sRows1[1]' GROUP BY COD;"; $sQuery = mysql_query( $sSQL, $sHandle ) or die( "Error: " . mysql_error() ); while( $sRows = mysql_fetch_array($sQuery) ){ echo "El código ". $sRows['Código'] ." tiene ". $sRows['Cantidad'] ." repeticiones.<br>"; } }//cierrro el whuile de la tabla jcalendar ?> con esto solo me imprime que tengo un A001en tu tabla tblPoC siendo que tengo mas
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
A ver, muestrame la salida de la segunda query, print "SELECT COD AS 'Código', COUNT(COD) AS 'Cantidad' FROM tblPoC where folio='$sRows1[1]' GROUP BY COD;"; Después, ejecutarlo desde la consola de MySQL y también muestrame el resultado.
|
|
|
|
|
En línea
|
 ---
|
|
|
RedZer
Desconectado
Mensajes: 654
|
ok mira lo que me muestra el segundo query es esto El código A001 tiene 1 repeticiones. siendo que en la tabla que tu creaste tengo 2 A001
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
RedZer
Desconectado
Mensajes: 654
|
mira tu tabla que creaste quedo asi solño le agregue un campo de mas el cual es folio ID COD DESCR folio 1 A001 PoC1-A001 148100-0 2 A001 PoC2-A001 298852-0 claro le quite los demas registros que habias insertado solo lo deje con dos y mi tabla jcalendar tiene la siguiente estrutura Subject StartTime 148100-0 2010-12-01 298852-0 2010-12-06 en donde subjet venmdria siendo el folio en tu tabla
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
RedZer
Desconectado
Mensajes: 654
|
mira tu tabla que creaste quedo asi solo le agregue un campo de mas para adaptarlo alo que quiero hacer el campo que agregue es folio ID COD DESCR folio 1 A001 PoC1-A001 148100-0 2 A001 PoC2-A001 298852-0 claro le quite los demas registros que habias insertado solo lo deje con dos y mi tabla jcalendar tiene la siguiente estrutura Subject StartTime 148100-0 2010-12-01 298852-0 2010-12-06 en donde subjet venmdria siendo el folio en tu tabla
|
|
|
|
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
Shell Root
Desconectado
Mensajes: 2.456
Alex Jurado
|
Ahh ok ok, lo que pasa, esque tienes una condición en donde tiene cómo clave de búsqueda FOLIO, más específicamente aquí... [SNIP] WHERE folio='$sRows1[1]' [SNIP] Por eso es que te lanza sólo un registro al realizar el conteo de datos. Intenta quitarlo y verás lo que te digo.
|
|
|
|
|
En línea
|
 ---
|
|
|
RedZer
Desconectado
Mensajes: 654
|
si brother condiciono esa parte por que de lo contrario me contaria todo los registros que no esten incluidos en la tbala jcalendar ala hora de buscar por fechas ya le quite lo que me dijiste y si es cierto ahora me aparece esto El código A001 tiene 2 repeticiones. pero por ejemplo ahi en la tabla jcalendar estoy buscnado del 2010-12-01 al 2010-12-07 y me muestra los folios que agregue en esas fechas en este caso tengo 2 por eso me aparece que tengo 2 repeticiones por que son las unicas que tnego en la base de datos pero por ejemplo si ahora buscara del 2010-12-01 al 2010-12-02 solo me mostraria un resultado ok por que solo hay un resgitro dado de alta esa fecha que es este 2010-12-01 entonces como quiera me aparecera que tengo 2 registros repetidos siendo que deberia de aparecer 1 repetido ya que en el rango de las fechas solo se econtro 1 registro no se si me entendiste por eso yo condiciono para que el folio que esta en la tabla jcalendar se igual al que esta en tu tabla y si esa condicion se cumple entonces empezar acontar cuantos registros hay
|
|
|
|
« Última modificación: 10 Diciembre 2010, 00:32 por elvil »
|
En línea
|
Nacido y criado entre gente que enseño a pensar antes de creer a ciegas, Todo me causa curiosidad en el mundo
|
|
|
|
|