Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/08/2008, 00:58
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Busqueda registro en dos tablas

Soy de la opinión de abulon: tus tablas son muy extrañas.

Cita:
Tabla asalariado
-------------------------------------
asalariados.id_clientasm
asalariados.contrato
asalariados.nombre
asalariados.pdf

*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*

Tabla morales
-------------------------------------
morales.id_clientmor
morales.contrato
morales.nombre
morales.pdf
Lo lógico sería una tabla con todos los nombres:
Clientes
-----------------
clientes.id
clientes.nombre
clientes.apellidos

y luego, si fuera necesario, otra tabla:
Contratos
-----------------
Contratos.id
Contratos.contrato
Contratos.pdf
Contratos.idcliente
Contratos.tipo (aquí mediante un campo numérico pequeño podrías poner 0 para moral y 1 para asalariado).

Luego harías la consulta con un inner join entre las tablas clientes y contratos con el on clientes.id=contratos.idcliente

y la consulta sería algo así: SELECT clientes.nombre, clientes.apellidos, contratos.contrato, contratos.odf, IF(contrato = 0, 'moral', 'asalariado') tipo_contrato FROM clientes inner join contratos on clientes.id=contratos.idcliente WHERE clientes.apellidos LIKE 'Martínez Sanz' ORDER BY clientes.apellidos

No obstante, si quieres encontrar los nombres con la estructura que tienes (vuelvo a recomendarte el cambio a otra), deberías hacerlo así:
Cita:
(SELECT asalariados.id_clientasm, asalariados.contrato, asalariados.nombre, asalariados.pdf from asalariados WHERE asalariados.nombre LIKE 'Martínez Sanz'
)
UNION ALL
(SELECT morales.id_clientmor, morales.contrato, morales.nombre, morales.pdf from morales WHERE morales.nombre LIKE 'Martínez Sanz'
)

ORDER BY asalariados.nombre
En mi opinión, estás duplicando información (el nombre) y haciendo un uso no muy correcto de una base relacional. Por eso te recomiendo que eches un vistazo a tutoriales sobre base de datos relacionales y sobre reglas de normalización.

Última edición por jurena; 23/08/2008 a las 03:10