Ver Mensaje Individual
  #4 (permalink)  
Antiguo 28/12/2011, 13:52
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Consulta con dos tablas

Tu problema, insisto, no es de consolidación de tablas. Es de lógica del WHERE. SI al menos una de las condiciones viene vacía, y en la tabla no lo está, esa consulta tal como la pones no devolverá ese registro.
¿Eso lo entiendes?
Tu problema se resuelve en dos partes:
1) Si el formulario llega incompleto, la consulta debe ser obligatoriamente contstruida en forma dinámica en tu programa, de modo tal que sólo incluya las condiciones que están llegando y no las que llegan vacías.
Eso siginifica algo tan simple como validar los datos que llegan, y por cada campo que tiene datos encadenar el bloque "AND nombredelcampo LIKE '%$loquesea%'". Si no lo haces así, se producirá el problema ya mencionado.
2) A nivel de SQL, si ambas tablas están efectivametne relacionadas en una relación 1:N, la segunda tabla debe tener laFK de la primera y lo que corresponde es indicarlo con JOIN ... ON ....
Algo así:
Código MySQL:
Ver original
  1. SELECT T1.*, T2.*
  2. FROM tabla1 T1 INNER JOIN tabla2 T2 ON T1.tabla1_ID = T2.tabla1_ID
  3. WHERE ... #acá van las condiciones.

¿Se va entendiendo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)