Hi, i have this SQL :
Select to_char(sysdate, 'yyyymmdd') as fec, afi_inscritos.no_afiliacio
n || '-' || afi_inscritos.correlativo as cod_beneficiario, afi_inscritos.no_afiliacio
n,
afi_inscritos.tipo_parente
sco, afi_inscritos.sexo, to_char(afi_inscritos.fech
a_nacimien
to, 'yyyymmdd') as fecha_nac,
to_char(afi_inscritos.afi_
fecha_insc
ripcion, 'yyyymmdd') as fecha_insc,
'',
afi_asegurados.cod_unidad_
medica || afi_asegurados.cod_clinica
as centro_medico,
afi_inscritos.status_benef
i, afi_asegurados.afi_status_
asegurado,
afi_inscritos.status_regis
tro, afi_inscritos.depto_direcc
|| afi_inscritos.munic_direcc
as depto_muni_resid, RTRIM(afi_inscritos.cod_us
uario) as u_systema,
afi_inscritos.estado_civil
, 'X'
from afi_inscritos, afi_asegurados
WHERE ((afi_inscritos.no_afiliac
ion = afi_asegurados.no_afiliaci
on)
AND (afi_inscritos.status_bene
fi = '1')
AND (afi_inscritos.tipo_parent
esco <> '3')
AND (afi_inscritos.tipo_parent
esco <> '5'))
group by afi_inscritos.no_afiliacio
n, afi_inscritos.correlativo,
afi_inscritos.tipo_parente
sco,
afi_inscritos.sexo, afi_inscritos.fecha_nacimi
ento,
afi_inscritos.afi_fecha_in
scripcion,
afi_asegurados.cod_unidad_
medica,
afi_asegurados.cod_clinica
, afi_inscritos.status_benef
i, afi_asegurados.afi_status_
asegurado,
afi_inscritos.status_regis
tro, afi_inscritos.depto_direcc
, afi_inscritos.munic_direcc
, afi_inscritos.cod_usuario,
afi_inscritos.estado_civil
For this SQL we too have VIew : BENEFI_TD
I need ADD Field : to_char(max(pfd_fechas.fec
hcert), 'yyyymmdd') as fecvenc
From this SQL :
SELECT my_table.*,
DECODE(DENSE_RANK() OVER (PARTITION BY no_afiliacion ORDER BY numpat),1,'X',' ') as flag
FROM
(SELECT to_char(sysdate, 'yyyymmdd') as fec, afi_asegurados.no_afiliaci
on as no_afiliacion,
afi_asegurados.sexo, pfd_detalle.numpat as numpat,
afi_asegurados.cod_unidad_
medica || afi_asegurados.cod_clinica
as centro_medico,
afi_asegurados.afi_status_
asegurado,
to_char(max(pfd_fechas.fec
hcert), 'yyyymmdd') as fecvenc, to_char(fecha_nacimiento, 'yyyymmdd') as fecha_naci,
to_char(fecha_inscripcion,
'yyyymmdd') as fecha_insc, afi_asegurados.status_regi
stro, afi_asegurados.estado_civi
l,
afi_asegurados.depto_direc
c || afi_asegurados.munic_direc
c as depto_muni_resi, to_char(afi_asegurados.fec
ha_muerte,
'yyyymmdd') as fecha_muerte, RTRIM(afi_asegurados.cod_u
suario) as u_systema,
to_char(afi_asegurados.afi
_ult_fecha
_incap_ini
c, 'yyyymmdd') as fecha_ulicap, to_char(rtrim(afi_asegurad
os.nit)) as nit, to_char(rtrim(afi_asegurad
os.dui)) as dui,
RTRIM(REPLACE(afi_asegurad
os.afi_ult
imo_salari
o,',','.')
) as ult_salar
FROM sgcuser.pfd_detalle, sgcuser.afi_asegurados, sgcuser.pat_patronos, sgcuser.pfd_fechas
WHERE ( (pat_patronos.no_patronal = afi_asegurados.no_patronal
)
AND (afi_asegurados.no_afiliac
ion = pfd_detalle.numafil)
AND (pfd_detalle.periodo = pfd_fechas.periodo)
AND (to_char(pfd_fechas.fechce
rt, 'yyyymm') >= to_char(sysdate, 'yyyymm'))
AND (afi_asegurados.no_afiliac
ion <> '000000000'))
Group by afi_asegurados.no_afiliaci
on,
afi_asegurados.sexo, pfd_detalle.numpat,
afi_asegurados.cod_unidad_
medica, afi_asegurados.cod_clinica
,
afi_asegurados.afi_status_
asegurado,
afi_asegurados.fecha_nacim
iento,
afi_asegurados.fecha_inscr
ipcion, afi_asegurados.status_regi
stro,
afi_asegurados.estado_civi
l, afi_asegurados.depto_direc
c, afi_asegurados.munic_direc
c,
afi_asegurados.fecha_muert
e, afi_asegurados.cod_usuario
,
afi_asegurados.afi_ult_fec
ha_incap_i
nic,afi_as
egurados.n
it, afi_asegurados.dui,afi_ase
gurados.af
i_ultimo_s
alario) my_table;
For this SQL we too have VIew : AFIS_TD
I not can fix using unique SQL, ROWs is LESS.
Is posible make some View using SELECT * FROM BENEFI_TD getting Field to_char(max(pfd_fechas.fec
hcert), 'yyyymmdd') as fecvenc from view AFIS_TD
Key Fields is afi_asegurados.no_afiliaci
on in view AFIS_TD and Key afi_asegurados.no_afiliaci
on and afi_inscritos.no_afiliacio
n || '-' || afi_inscritos.correlativo as cod_beneficiario from view BENEFI_TD
Any idea, we only can extract from Views or Tables when using JDBC Drivers in SAP.
Thank you.
Start Free Trial