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

select con clausulas between y or

Estas en el tema de select con clausulas between y or en el foro de Mysql en Foros del Web. hola tengo una tabla llamada transacciones en el que gurado el monto y su tipo ademas de los id de venta o idCompra segun sea ...
  #1 (permalink)  
Antiguo 25/02/2010, 16:30
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
select con clausulas between y or

hola tengo una tabla llamada transacciones en el que gurado el monto y su tipo ademas de los id de venta o idCompra segun sea el caso ambos pueden ser nulos.

Deseo hacer una consulta de campos que esten entre dos fechas dadas pero no se como hacer ya que la fecha deberia buscar se o bien el tabla de compras o bien en la tabla de ventas segun cual de esos dos id no sea nulo

Yo probe con esto

Código:
SELECT a.Monto Monto, a.Tipo Tipo, 
 	    FROM caja a, compra b, venta c 
	    WHERE c.fecha BETWEEN '$_POST[FechaInicio]' AND '$_POST[Fechafin]' OR b.fecha BETWEEN '$_POST[Fini]' AND '$_POST[Ffin]'
pero me sale valores inconsitentes como podria hacer esa consulta
  #2 (permalink)  
Antiguo 25/02/2010, 21:36
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: select con clausulas between y or

Podrias reformular tu pregunta y si es posible enviar el diagrama de las tablas que usas.
  #3 (permalink)  
Antiguo 26/02/2010, 15:19
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: select con clausulas between y or

miren lo que sucede es que tengo una tabla llamada transaccion con las llaves foraneas idCompras y idVenta pero solo una de las dos sera llenada es decir siempre una de ellas sera nula entonces lo que io quiero es hacer algo como esto en pseudocodigo

Código:
SELECT a.Monto Monto, a.Tipo Tipo, 
 	    FROM caja a, compra b, venta c 
	    WHERE IF (b.idCompra<>NULL)  c.fecha BETWEEN '$_POST[FechaInicio]' AND '$_POST[Fechafin]' ELSE b.fecha BETWEEN '$_POST[Fini]' AND '$_POST[Ffin]'
  #4 (permalink)  
Antiguo 26/02/2010, 16:05
 
Fecha de Ingreso: enero-2010
Ubicación: Estelí, Nicaragua
Mensajes: 157
Antigüedad: 14 años, 3 meses
Puntos: 8
Respuesta: select con clausulas between y or

Código MySQL:
Ver original
  1. a.monto Monto,
  2. a.tipo Tipo,
  3. if(b.idcompra is null,c.fecha,b.fecha) as fecha
  4. from caja a
  5. inner join venta v
  6. on v.idventa=a.idventa
  7. inner join compra c
  8. on c.idcompra=a.idcompra
  9. fecha BETWEEN '$_POST[FechaInicio]' AND '$_POST[Fechafin]'

pruebala a ver que pasa.
  #5 (permalink)  
Antiguo 01/03/2010, 21:46
 
Fecha de Ingreso: enero-2009
Mensajes: 126
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: select con clausulas between y or

pues me salen varios errores como que no existe la columna b.idCompra

ademas que la fecha en la clausula where es ambiguo como podria mejorar la consulta para obtener el resultado que deseo

Etiquetas: 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 17:44.