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

My sql - between

Estas en el tema de My sql - between en el foro de Mysql en Foros del Web. Hola amigos del foro ! tengo una duda, consulta, inquietud: Necesito traer de mi base de datos las compras relacionada a una empresa (id_empresa) en ...
  #1 (permalink)  
Antiguo 24/07/2009, 10:30
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 10 meses
Puntos: 1
My sql - between

Hola amigos del foro !

tengo una duda, consulta, inquietud:

Necesito traer de mi base de datos las compras relacionada a una empresa (id_empresa) en un perioso de tiempo. Para esto utilizo la consulta con BETWEEN, pero cuando agrego el parametro de id_empresa, deja de funcionar. Les dejo la consulta como la tengo, sin funcionar:

SELECT * FROM compras WHERE fecha BETWEEN 'fecha1' AND 'fecha2') and id_empresa=$id

Probede colocar los parametros entre parentesis y tampoco:

SELECT * FROM compras WHERE (fecha BETWEEN '$fecha1' AND '$fecha2') and (id_empresa=$id)


Ya no se me ocurre que mas hacerle a la maldita, si quito el parametro del id_empresa, funciona perfecto, trae las compras en en el periodo especificado.

Una mas los parametros son variables php que envio a travez de la funcion (selctPerdiodo($id,$fecha1,$fecha2).


Espero puedan ayudarme.
Desde ya muchas gracias

Saludos

Roberto
  #2 (permalink)  
Antiguo 24/07/2009, 10:34
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, 5 meses
Puntos: 2658
Respuesta: My sql - between

Cita:
si quito el parametro del id_empresa, funciona perfecto, trae las compras en en el periodo especificado.
Bueno, eso significaría que no hay compras que se correspondan con el id_empresa que estás ingresando para el período invocado.
Sería mejor que verificaras bien los valores de las variables al momento de crear la sentencia.
__________________
¿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 24/07/2009, 10:35
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: My sql - between

SELECT * FROM compras WHERE id_empresa=$id and (fecha BETWEEN 'fecha1' AND 'fecha2')

Prueba así
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 24/07/2009, 10:46
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: My sql - between

Hola amigos, respondo:

gnzsoloyo: en mi base solo tengo compras de una sola empresa conla que estoy probando cosa de no cometer errores.

huesos52: probe como me dijistes y sigo teniendoel mismo error, osea no me trae resultados.

Ya controle que las variables tengan sus valores correspondientes antes de ser enviadas al metodo como parametro, sea que van con los valores.

gracias a ambos de todas maneras !

saludos !
  #5 (permalink)  
Antiguo 24/07/2009, 10:55
Avatar de Ronin46  
Fecha de Ingreso: junio-2009
Mensajes: 398
Antigüedad: 14 años, 10 meses
Puntos: 8
Respuesta: My sql - between

¿Debido al formato de fechas quizás? ¿Qué formato usa la bd y cuál pasas en la variable?
  #6 (permalink)  
Antiguo 24/07/2009, 10:57
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: My sql - between

Hola amigos de nuevo !

ya lo solucione tenia un problema en el script php, una boludez, me saltie un paso antes de llamar al metodo.

La consulta quedo como indico huesos52

SELECT * FROM compras WHERE id_empresa=$id and (fecha BETWEEN 'fecha1' AND 'fecha2')
y funciona de maravillas

gracias de nuevo a ambos por su tiempo y buenaonda

saludos !!
  #7 (permalink)  
Antiguo 24/07/2009, 10:57
 
Fecha de Ingreso: junio-2009
Mensajes: 22
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: My sql - between

gracias Ronin46 tambien !

saludos !
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 08:06.