Ver Mensaje Individual
  #2  
Antiguo 11-02-2010
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.964
Reputación: 29
delphi.com.ar Va camino a la fama
Cita:
Empezado por juanjo123 Ver Mensaje
...necesito que se muestren los que tengan tambien "a.orden=0"...
¿Quieres los que se cumplan la relación, mas los que estén en cero?
En ese caso se me ocurre que podrías hacer dos consultas con un union

Código SQL [-]
SELECT b.codcontrato, a.orden, a.nif, CONCAT(a.apellido1,' ', a.apellido2,', ',a.nombre) as nombrecompleto, 
     b.fechavencont, b.fechabaja
FROM personal a 
INNER JOIN contratos b on a.orden=b.orden
WHERE a.codempresa='301' 
UNION ALL 
SELECT NULL, orden, nif, CONCAT(apellido1,' ', apellido2,', ',nombre) as nombrecompleto, 
     NULL, NULL 
FROM personal
WHERE a.codempresa='301' 
ORDER BY 2 asc

Ahora si lo que quieres son todos los registros de la tabla "personal" sin importar si estos tienen o no un "contrato", lo que debes hacer es un LEFT JOIN:

Código SQL [-]
SELECT b.codcontrato, a.orden, a.nif, CONCAT(a.apellido1,' ', a.apellido2,', ',a.nombre) as nombrecompleto, 
     b.fechavencont, b.fechabaja 
FROM personal a 
LEFT JOIN contratos b on a.orden=b.orden
WHERE a.codempresa='301' 
ORDER BY a.orden asc


Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita