Bien muchachos agradeciéndoles como siempre su valiosa ayuda, dejo la solución que desarrollé y con la que me siento cómodo :
- Crear 1 SP para el query 1
- Crear 1 SP para el query 2
- Crear 1 SP para unir los query 1 y 2
Query1
Código PHP:
CREATE procedure [dbo].[validarEstadoCuenta_1]
@idEstadoCuenta int
as
select reg.regulacion_id,reg.regulacion_resolucion_real,reg.regulacion_cuota_real,
reg.resolucion_fecha_ejecutoria_real as 'fecha ejecutoria real',reg.resolucion_fecha_ejecutoria_real
from sgva_Regulacion reg, sgva_estado_de_cuenta est
where reg.regulacion_nit = est.estado_nit_empresa and reg.regulacion_estado_id = 3
and reg.resolucion_fecha_ejecutoria_real >= DATEADD(yy,-3,est.estado_fecha_creacion )
and reg.resolucion_fecha_ejecutoria_real <= est.estado_fecha_creacion
and est.id_estado = @idEstadoCuenta
order by reg.resolucion_fecha_ejecutoria_real asc
Query2
Código PHP:
CREATE procedure [dbo].[validarEstadoCuenta_2]
@idEstadoCuenta int
as
select top(1) reg.regulacion_id,reg.regulacion_resolucion_real,reg.regulacion_cuota_real, reg.resolucion_fecha_ejecutoria_real as 'fecha ejecutoria real',reg.resolucion_fecha_ejecutoria_real
from sgva_Regulacion reg, sgva_estado_de_cuenta est
where reg.regulacion_nit = est.estado_nit_empresa and reg.regulacion_estado_id = 3
and reg.resolucion_fecha_ejecutoria_real <= DATEADD(yy,-3,est.estado_fecha_creacion )
and est.id_estado = @idEstadoCuenta
order by reg.resolucion_fecha_ejecutoria_real desc
Query que hace el Union
Código PHP:
ALTER procedure [dbo].[validarEstadoCuenta]
@idEstadoCuenta int
as
declare @validarEstadoCuenta_1 table (regulacion_id int, regulacion_resolucion_real varchar(50), regulacion_cuota_real int, fecha_ejecutoria_real smalldatetime, resolucion_fecha_ejecutoria_real smalldatetime)
declare @validarEstadoCuenta_2 table (regulacion_id int, regulacion_resolucion_real varchar(50), regulacion_cuota_real int, fecha_ejecutoria_real smalldatetime, resolucion_fecha_ejecutoria_real smalldatetime)
insert into @validarEstadoCuenta_2
exec validarEstadoCuenta_2 @idEstadoCuenta
insert into @validarEstadoCuenta_1
exec validarEstadoCuenta_1 @idEstadoCuenta
select regulacion_id, regulacion_resolucion_real, regulacion_cuota_real,CONVERT(nvarchar(10),resolucion_fecha_ejecutoria_real,103) as 'fecha ejecutoria real', resolucion_fecha_ejecutoria_real
from @validarEstadoCuenta_2
union all
select regulacion_id, regulacion_resolucion_real, regulacion_cuota_real,CONVERT(nvarchar(10),resolucion_fecha_ejecutoria_real,103) as 'fecha ejecutoria real', resolucion_fecha_ejecutoria_real
from @validarEstadoCuenta_1
Gracias de nuevo. Saludos.