Foros del Web » Programando para Internet » PHP »

hacer consulta a varias tablas

Estas en el tema de hacer consulta a varias tablas en el foro de PHP en Foros del Web. Hola nuevamente: tengo una pregunta...... logre hacer mi buscador y todo funciona perfecto cuando busco en una solo tabla pero quiero consultar todas las tablas ...
  #1 (permalink)  
Antiguo 15/07/2003, 17:28
 
Fecha de Ingreso: abril-2003
Ubicación: Guatemala
Mensajes: 93
Antigüedad: 21 años
Puntos: 1
hacer consulta a varias tablas

Hola nuevamente:

tengo una pregunta......

logre hacer mi buscador y todo funciona perfecto cuando busco en una solo tabla pero quiero consultar todas las tablas y si pudiera en todas los campos.... como podria hacerlo teniendo este codigo

Código PHP:
$sql=("SELECT * FROM las_tablas  WHERE los_campos LIKE '%".$palabra."%'")or die ("No se pudo ejecutar la consulta"); 
No tengo idea de como pueda ser....

gracias...
  #2 (permalink)  
Antiguo 16/07/2003, 10:56
 
Fecha de Ingreso: abril-2003
Ubicación: Guatemala
Mensajes: 93
Antigüedad: 21 años
Puntos: 1
por lo menos me gustaria saber si se puede..... me urge mucho saberlo..... se los agradeceria bastante....

gracias..

sicuesn
  #3 (permalink)  
Antiguo 16/07/2003, 11:08
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 22 años, 3 meses
Puntos: 5
Si se puede, pero es mas complicado...

1.- Primero, debes determinar cuales serán los campos que deseas obtener como resultado (independientemente de donde busques las coincidencias con tu criterio...

2.- Luego (como recomendación) usa alias para las tablas (a,b,c,etc)

3.- En seguida debes saber que relación existe entre las tablas involucradas, para que puedas "ligarlas" a la hora de hacer el query.

4.- Por ultimo debes hacer la comparación contra cada uno de los campos que deseas comparar...

Aqui te pongo un ejemplo de lo que te digo...

// (1)
SELECT a.ID, a.Nombre, a.Descripcion, b.Texto

// (2)
FROM tabla1 a, tabla2 b, tabla3 c

// (3)
WHERE a.ID=b.Ref and b.ID=c.tal

// (4)
and (a.Campo1 LIKE '%$palabra%'
or a.Campo2 LIKE '%$palabra%'
or a.Campo3 LIKE '%$palabra%'
or b.Campo1 LIKE '%$palabra%'
or b.Campo2 LIKE '%$palabra%'
or b.Campo3 LIKE '%$palabra%'
or c.Campo1 LIKE '%$palabra%'
or c.Campo2 LIKE '%$palabra%')


Ves, es mas complicado de lo que tu propones, pero SI es posible...
__________________
Manoloweb
  #4 (permalink)  
Antiguo 16/07/2003, 13:32
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Y si las tablas no estan relacionadas, debes hacer la consulta una vez para tabla solo para los campos de esa tabla.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 23:15.