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

Otra vez where con or no funciona

Estas en el tema de Otra vez where con or no funciona en el foro de Bases de Datos General en Foros del Web. Vuelvo a tener un problemilla con este query Código: SELECT repuesto.idRepuesto as 'id', repuesto.part as 'Parte', repuesto.tipo as 'tipo', repuesto.descrip as 'Descripcion', repuesto.costo as 'Costo', ...
  #1 (permalink)  
Antiguo 07/10/2009, 15:44
 
Fecha de Ingreso: septiembre-2009
Mensajes: 19
Antigüedad: 14 años, 7 meses
Puntos: 0
Otra vez where con or no funciona

Vuelvo a tener un problemilla con este query

Código:
SELECT
repuesto.idRepuesto as 'id',
repuesto.part as 'Parte',
repuesto.tipo as 'tipo',
repuesto.descrip as 'Descripcion',
repuesto.costo as 'Costo',
repuesto.marca as 'Marca',
repuesto.cant as 'Cantidad'
FROM repuesto
WHERE
UCASE(repuesto.part) LIKE UCASE('%sdfgsdfg%')
OR
UCASE(repuesto.descrip) LIKE UCASE('%%')
Siempre que ejecuto esta consulta me trae todos los registros, tanto en el primer like como en el segundo
  #2 (permalink)  
Antiguo 07/10/2009, 22:08
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: Otra vez where con or no funciona

claro. Le estas poniendo una condición OR.
si se cumple una de las dos o las dos, se muestra.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 08/10/2009, 07:33
 
Fecha de Ingreso: septiembre-2009
Mensajes: 19
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Otra vez where con or no funciona

Claro, pero es que me trae todos los registros asi no coincidan con lo que esta establecido en la sentencia WHERE, por ejemplo tengo un registro repuesto.part que tiene como valor '12345' y otro '09876', si yo coloco en el primer OR '12345' (o inclusive puedo dejar vacios ambos campos en el query, solo con '%%'), me trae ambos registros lo cual pienso no deberia ser. Yo quiero que funcione como un buscador y me consiga lo que le estoy solicitando.

lo unico que puedo pensar es que si dejo '%%' en alguno el va a traer todos los resultados... de verdad este proyecto de tesis me tiene loco jajajaja
  #4 (permalink)  
Antiguo 08/10/2009, 07:59
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: Otra vez where con or no funciona

Cita:
me trae ambos registros lo cual pienso no deberia ser.
así es t2_ok.

La idea es que busque la misma palabra ingresada en ambos campos?
Si la palabra ingresada es '12345'

tienes dos opciones:
Código sql:
Ver original
  1. WHERE
  2. UCASE(repuesto.part) LIKE UCASE('%sdfgsdfg%')
  3. OR
  4. UCASE(repuesto.descrip) LIKE UCASE('%sdfgsdfg%')

o

Código sql:
Ver original
  1. WHERE
  2. UCASE(concat(repuesto.part,' ',repuesto.descrip) LIKE UCASE('%sdfgsdfg%')
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 08/10/2009, 09:19
 
Fecha de Ingreso: septiembre-2009
Mensajes: 19
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Otra vez where con or no funciona

Efectivamente, ya lo habia resuelto y cuando vine a responder ya me tenias una respuesta acertada, muchas gracias de nuevo huesos52, posiblemente vualva en un futuro jajaja
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 11:50.