Ver Mensaje Individual
  #2 (permalink)  
Antiguo 04/04/2013, 15:39
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 4 meses
Puntos: 447
Respuesta: Problema con consulta varias tablas

Hola edwinarley:

Estás cometiendo errores infantiles en tu consulta, creo que deberías de darle un vistazo a cualquier libro de SQL para principiantes, porque sinceramente pocas veces había visto algo como tu consulta.

Vayamos por partes... al Tablar de T1, T2... T5 supongo que te refieres a tus tablas, es decir, tienes 5 tablas y todas tienen un atributo placa correcto???pues bien, comencemos.

Primero. En la sección FROM de tu consulta debes pones LAS TABLAS QUE VAS A INVOLUCRAR, NO LOS CAMPOS, los campos se utilizan en el SELECT, WHERE, GROUP BY, HAVING, y ORDER BY...

Segundo. en la sección WHERE cuando dos o más tablas TIENEN EL MISMO NOMBRE DE CAMPO DEBES ESPECIFICAR A QUÉ TABLA PERTENECE EL CAMPO AL QUE HACER REFERENCIA, de lo contrario te marcará que el nombre del campo es ambiguo. (Lo mismo aplica para el ORDER BY).

Tercero. Listar las tablas en el FROM, tal como lo haces indica JOIN's, y al no poner ningúna condición de unión en el WHERE se estaría realizando un PRODUCTO CARTESIANO.

No quiero perder mucho tiempo en esto, pero insisto, te recomiendo que leas cualquier libro para principiantes para entender todos estos conceptos.

Lo que tú tienes que hacer es utilizar UNION, en lugar de listar las tablas en el FROM. Checa la documentación para que sepas cuáles son las restricciones para poder hacer la unión entre las tablas.

http://dev.mysql.com/doc/refman/5.0/es/union.html

Una vez unidas, puedes hacer un SELECT sobre la tabla resultante, filtrando los resultados que quieras:

Código MySQL:
Ver original
  1.   SELECT * FROM T1
  2.   SELECT * FROM T2
  3.   SELECT * FROM T3
  4.   SELECT * FROM T4
  5.   SELECT * FROM T5) T
  6. WHERE T.placa LIKE '%$buscar%' ORDER BY T.placa DESC


Insisto en que este tipo de consultas es básica, por lo que puedo suponer que apenas estás aprendiendo SQL, tienes un largo camino por recorrer, revisa la documentación oficial, encomíendate a SAN GOOGLE y pídele que te ilumine con su sabiduría.

Saludos
Leo.