Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/04/2013, 07:54
lisi1986
 
Fecha de Ingreso: mayo-2011
Mensajes: 78
Antigüedad: 13 años, 8 meses
Puntos: 0
Problema condicionales MYsql

Estimados,

tengo un problemita con una consulta que hago con PHP a la base de datos.

Para que lo entiedan estoy seleccionando todos los registros de una tabla que cumplan con 2 requisitos:

a) que esten dentro de un rango de fechas
b) que cumplan con una caracteristica ( esta se selecciona de un <select> y se guarda en la BD al momento de cargar el registro)

El problema que tengo es que la consulta queda asi:

Código MySQL:
Ver original
  1. SELECT * FROM operaciones
  2. WHERE fechacarga BETWEEN '2013-01-01 ' AND '2013-04-19'
  3. AND tiposervicio = 'TERRESTRE' OR tiposervicio = 'TERRESTRE + SEGURO'
  4. OR tiposervicio = 'TERRESTRE + INGRESO A PUERTO' OR tiposervicio = 'IMPORTACION'
  5. OR tiposervicio = 'IMPORTACION + SEGURO' OR tiposervicio = 'AEREO'
  6. ORDER BY numeroop DESC

y el resulado que me arroja no es lo que lo quiero porque toma el between y el primer and como la primer condicion y toma todo el resto de los "OR" como condicionales independientes.

Para que se entienda lo que yo quiero voy a separar las 2 condiciones que se tienen que cumplir con parentesis ( esto solo para que me entiendan) y necesitaria si pueden orientarme sobre como lograrlo.
Código MySQL:
Ver original
  1. SELECT * FROM operaciones
  2. WHERE (fechacarga BETWEEN '2013-01-01 ' AND '2013-04-19')
  3. AND (tiposervicio = 'TERRESTRE' OR tiposervicio = 'TERRESTRE + SEGURO'
  4. OR tiposervicio = 'TERRESTRE + INGRESO A PUERTO' OR tiposervicio = 'IMPORTACION'
  5. OR tiposervicio = 'IMPORTACION + SEGURO' OR tiposervicio = 'AEREO')
  6. ORDER BY numeroop DESC

Desde ya les agradezco muchisimo la ayuda!! saludoss

Última edición por gnzsoloyo; 29/04/2013 a las 08:27 Razón: Mal etiquetado. Usar Higlight "MySQL" o "SQL"