Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Está bien esta consulta Select count? (https://www.clubdelphi.com/foros/showthread.php?t=47500)

enecumene 29-08-2007 23:16:53

Está bien esta consulta Select count?
 
Hola compañeros del foro nuevamente os pido su ayuda, esta vez se trata de esta consulta, queria saber si esta bien hecha porque no me funciona:

Código SQL [-]
SELECT (select count(fecha_rec_ped) from reg_pedidos where fecha_rec_ped>="'+Year1.Text+-01-01'" and fecha_rec_ped<="'+Year1.Text+-01-31'") as enero, (select count(fecha_rec_ped) from reg_pedidos where fecha_rec_ped>="'+Year1.Text+-02-01'" and fecha_rec_ped<="'+Year1.Text+-02-29'") as febrero from reg_pedidos

trabajo con MySql+delphi7...

Saludos...

Caral 29-08-2007 23:37:22

Hola
Prueba asi:
Código SQL [-]
SELECT (select count(reg_pedidos.fecha_rec_ped) as enero from reg_pedidos where fecha_rec_ped >= +'"Year1.Text"'+ and fecha_rec_ped <= +'"Year1.Text"'), (select count(reg_pedidos.fecha_rec_ped) as febrero from reg_pedidos where fecha_rec_ped >= +'"Year1.Text"'+ and fecha_rec_ped <= +'"Year1.Text"')
Saludos

eduarcol 29-08-2007 23:51:06

Solo una acotacion para que funcione lo de caral, tienes que pasarle en el edit la fecha completa, si lo que quieres concatenar debes:

Código SQL [-]
SELECT (select count(fecha_rec_ped) from reg_pedidos where fecha_rec_ped>="+Year1.Text + '-01-01'" and fecha_rec_ped<="+Year1.Text + '-01-31'") as enero, (select count(fecha_rec_ped) from reg_pedidos where fecha_rec_ped>="+Year1.Text + '-02-01'" and fecha_rec_ped<="+Year1.Text + '-02-29'") as febrero from reg_pedidos

pero creo que debe haber otras formas si explicas un poco mejor lo que necesitas se te podrian dar mas ideas

jhonny 29-08-2007 23:59:06

Bueno, yo tambien quiero hacer una observación, si haces Count(UnCampo) la consulta te devolvera la cantidad de registros cuyo valor de UnCampo es distinto de Nulo, si haces Count(*) te traera el conteo de todos los registros hayan o no hayan nulos.

Caral 30-08-2007 00:02:02

Hola
Yo di me idea de como hacerlo, pero lo que no entiendo es para que usar un count en una comparacion de campos fecha.
Lo veo innecesario.
Saludos

eduarcol 30-08-2007 00:17:11

Cita:

Empezado por Caral (Mensaje 226898)
Hola
Yo di me idea de como hacerlo, pero lo que no entiendo es para que usar un count en una comparacion de campos fecha.
Lo veo innecesario.
Saludos

Yo veo mucho de ese codigo innecesario, por ejemplo asi como esta solo funcionara, enero y febrero de años bisiestos...

enecumene 30-08-2007 00:21:51

Gracias Caral, tuve que hacer una modificación pero sin tu propuesta no hubiera llegado a esto:

Código SQL [-]
SELECT (select count(reg_pedidos.fecha_rec_ped) from reg_pedidos where 
fecha_rec_ped >= "'+Year1.Text+'" and fecha_rec_ped <= "'+Year1.Text+'")
 as enero, (select count(reg_pedidos.fecha_rec_ped) from reg_pedidos where
 fecha_rec_ped >= "'+Year1.Text+'" and fecha_rec_ped <= "'+Year1.Text+'")
 as febrero from reg_pedidos

asi me funciono perfecto me sale como campos "enero y febrero", ahora no se si esto deberia ponerlo en otro hilo pero tratandose de la misma consulta quise seguir en le mismo hilo, esa consulta es para un DBChart, el problema es que al seleccionar series->series1->Datasources->Dataset->ZQuery1 en la parte de labels, x o bar no me aparecen los campos y al ponerlo me dice que no existe.:confused::confused::confused: como puedo presentar esta consulta en un DBChart?

Saludos...

enecumene 30-08-2007 00:24:10

no me habia fijado que habian contestado jhonny y eduarcol:D..

saludos..

eduarcol 30-08-2007 00:25:33

Cita:

Empezado por enecumene (Mensaje 226907)
no me habia fijado que habian contestado jhonny y eduarcol:D..

saludos..

que no vuelva a suceder

jejeje mentira es broma, mira para que funcione como lo has colocado deberias tener dos edit, fecha inicio y fecha final, si no siempre sera una unica fecha...

no se si me explique

enecumene 30-08-2007 00:37:30

jajaja, bueno eduarcol lo que trato de hacer es presentar el total de pedidos entre fechas por mes o sea 2007-01-01 al 2007-01-31 es enero y asi sucesivamente y querer presentarlo en un DBCHart. es posible?:confused:

eduarcol 30-08-2007 00:47:53

en paradox esta la funcion EXTRACT no se si en mysql estara....

Caral 30-08-2007 00:49:06

Hola
No he usado el DBChart pero se ve sencillo.
Veo que se crean las Series, en esta se puede definir el dato como 'DateTime' en la paleta general, luego esta el data source, aqui se pone el single record y se busca el data source, una vez hecho esto, se colocan los campos que se requieran con las flechas.
Repito, lo he visto de reojo, no lo he usado nunca.
Saludos

pcicom 30-08-2007 03:54:29

Cita:

Empezado por enecumene (Mensaje 226879)
Hola compañeros del foro nuevamente os pido su ayuda, esta vez se trata de esta consulta, queria saber si esta bien hecha porque no me funciona:

Código SQL [-]
SELECT (select count(fecha_rec_ped) from reg_pedidos 
where fecha_rec_ped>="'+Year1.Text+-01-01'" and 
fecha_rec_ped<="'+Year1.Text+-01-31'") as enero, (select count(fecha_rec_ped) from reg_pedidos where fecha_rec_ped>="'+Year1.Text+-02-01'" and fecha_rec_ped<="'+Year1.Text+-02-29'") as febrero from reg_pedidos

trabajo con MySql+delphi7...

Saludos...


Prueba esto

Cita:

[sql]

'SELECT MOUNTH(fecha_rec_ped),count(fecha_rec_ped)
FROM reg_pedidos
WHERE YEAR(fecha_rec_ped)=' + Year.Text+ ' GROUP BY 1';



La franja horaria es GMT +2. Ahora son las 13:34:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi