Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: bgnumis en 27 Abril 2015, 23:05 pm



Título: AND o OR
Publicado por: bgnumis en 27 Abril 2015, 23:05 pm
Hola,

Quiero que en un campo de buscar me busque algo que se parezca a dos campos concatenados:

Por ejemplo poniendo esto me encuentra si porgo el nombre o alguno de los apellidos
Código
  1. SELECT * FROM alumn WHERE NOMBRE OR APELLIDOS LIKE '%".$busca."%'  
  2.  
  3.  

Si pongo AND no me "concatena" Nombre+apellidos y si pongo PEDRO PEREZ no me encuentra nada.

¿No sería con And?


Título: Re: AND o OR
Publicado por: engel lex en 27 Abril 2015, 23:13 pm
sería

Código
  1. SELECT * FROM alumn WHERE NOMBRE LIKE '%".$busca."%' OR APELLIDOS LIKE '%".$busca."%'  

porque lo tienes que ver de esta manera

Código
  1. SELECT * FROM tabla WHERE condicion1 OR condición2

si condicion1 o condicion2 es verdadera, retorna

en la tuya "NOMBRE OR APELLIDOS LIKE '%".$busca."%'" se toma "si <NOMBRE> es verdadero o <APELLIDOS LIKE '%".$busca."%'> es verdadero retorna"

y nombre siempre será verdadero (a  menos que sea vacío o null)