Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/03/2019, 15:33
Avatar de Libras
Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 17 años, 8 meses
Puntos: 774
Respuesta: Mostrar Trabajadores sin trabajo asignado actualmente

ya tienes la base piensale poquito no?

Código SQL:
Ver original
  1. --Personas con cargo vigente
  2. SELECT t1.id, t1.nombre,t2.cargo, 'Sin Cargo Vigente' AS resultado FROM #personas AS t1
  3. LEFT JOIN (
  4. SELECT * FROM #cargos_personas AS t1
  5. WHERE  hasta <= getdate()  
  6. ) AS t2 ON (t1.id=t2.persona)
  7. WHERE persona IS NOT NULL
  8. AND persona NOT IN (
  9. SELECT persona FROM #cargos_personas AS t1
  10. WHERE  hasta >= getdATE()
  11. )
  12.  
  13.  
  14. UNION ALL
  15.  
  16. SELECT t1.id, t1.nombre,t2.cargo, 'No ha tenido Cargo' AS resultado FROM #personas AS t1
  17. LEFT JOIN (
  18. SELECT persona,cargo FROM #cargos_personas AS t1
  19. ) AS t2 ON (t1.id=t2.persona)
  20. WHERE persona IS NULL

3 forosDelWeb 1 Sin Cargo Vigente
2 Camatagua123 NULL No ha tenido Cargo
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me