Ver Mensaje Individual
  #7 (permalink)  
Antiguo 31/03/2019, 17:19
Camatagua123
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 12 años, 8 meses
Puntos: 3
Respuesta: Mostrar Trabajadores sin trabajo asignado actualmente

Cita:
Iniciado por Libras Ver Mensaje
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

asi me quedó la consulta!

Cita:

SELECT * FROM `web_personas` AS `t1` LEFT JOIN (SELECT * FROM `web_cargo_personas` AS `t3` WHERE `t3`.`carper_hasta` <= CURRENT_DATE() GROUP BY `t3`.`per_id`) AS `t2` ON `t2`.`per_id` = `t1`.`per_id` WHERE `t2`.`per_id` NOT IN (SELECT `t4`.`per_id` FROM `web_cargo_personas` AS `t4` WHERE `t4`.`carper_hasta` IS NULL)
Gracias Libras ! ahora me toca pasarla a Eloquent Laravel :/
__________________
No le pare bola a la vida, que la vida no le para bolas a uno!