Ver Mensaje Individual
  #4 (permalink)  
Antiguo 07/04/2011, 14:50
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: IF en clausula WHERE

Hola de nuevo juandedios.

si entendí bien tienes algo como esto:

Código:
Tabla EMPLEADOS
codigo|Nombre
--------------------
1|UNO
2|DOS
3|TRES

Tabla CREDITOS
idCredito|cred_proveedor1|cred_proveedor2
------------------------------------------------------------
1|1|2
2|2|null
3|1|3
4|3|null
de tal manera que lo que tú quieres obtener sería algo como esto:

idCredito|cred_proveedor1|nombre|cred_proveedor2|n ombre
------------------------------------------------------------
1|1|UNO|2|DOS
2|2|DOS|null|null
3|1|UNO|3|TRES
4|3|TRES|null|null

Si esto y en lo correcto, la consulta quedaría más o menos así:

Código:
select c.idCredito, c.cred_proveedor1,e1.nombre,c.cred_proveedor2,e2.nombre
from CREDITOS c
inner join EMPLEADOS e1 on c.cred_proveedor1 = e1.codigo
LEFT JOIN EMPLEADOS e2 on c.creed_proveedor = e2.codigo
Dale un vistazo al código, checa la parte del LEFT JOIN para que trates de entender cuál es su comportamiento y si continuas con problemas postea algunos datos de ejemplo de tus tablas y qué necesitas de salida, para ver qué alternativas puedes tener.

Saludos
Leo.