Hola.
Tengo 2 Sql que me devuelven el mismo resultado, pero quisiera saber cual es
el mas optimo no se interpretar el plan de ejcucion me recomiendan algun
link donde puedo encontrar información.
1-
Select Empleado.iEmpleadoId, Empleado.cApellidos, Empleado.cNombres,
Empleado.nActivo, Empleado.iIdRol,
Empleado.iIdCentroCosto, Con_Cuenta.cNombre As cCCostoName,
Con_Cuenta.cCtaId, Nom_AltaBaja.tAlta, Nom_AltaBaja.tBaja,
IsNull((Select Sum(VacacionLiqC.nDiasTotal) From VacacionLiqC Where
VacacionLiqC.iIdEmpleado = Empleado.iEmpleadoId Group By iIdEmpleado), 0) AS
nDiasTomados
From Empleado Inner Join Nom_AltaBaja On Empleado.iIdAltaBaja Nom_AltaBaja.iAltaBajaId Inner Join Con_Cuenta ON Empleado.iIdCentroCosto Con_Cuenta.iCtaId
Order by cApellidos, cNombres
2.-
Select Empleado.iEmpleadoId, Empleado.cApellidos, Empleado.cNombres,
Empleado.nActivo, Empleado.iIdRol,
Empleado.iIdCentroCosto, Con_Cuenta.cNombre As cCCostoName,
Con_Cuenta.cCtaId, Nom_AltaBaja.tAlta, Nom_AltaBaja.tBaja,
Isnull(Sum(VacacionLiqC.nDiasTotal), 0) AS nDiasTomados
From Empleado Inner Join Nom_AltaBaja On Empleado.iIdAltaBaja Nom_AltaBaja.iAltaBajaId
Inner Join Con_Cuenta ON Empleado.iIdCentroCosto = Con_Cuenta.iCtaId
Left join VacacionLiqC On VacacionLiqC.iIdEmpleado Empleado.iEmpleadoId
Group By Empleado.iEmpleadoId, Empleado.cApellidos, Empleado.cNombres,
Empleado.nActivo, Empleado.iIdRol,
Empleado.iIdCentroCosto, Con_Cuenta.cNombre, Con_Cuenta.cCtaId,
Nom_AltaBaja.tAlta, Nom_AltaBaja.tBaja
Order by cApellidos, cNombres
Saludos.
Muaricio Pulla.
Cuenca-Ecuador
Leer las respuestas