SELECT DISTINCT A.EMPLID ,A.ADDRESS1 ,A.ADDRESS2 ,A.ADDRESS3 ,A.ADDRESS4 ,A.CITY ,A.POSTAL ,A.STATE ,A.COUNTRY FROM PS_ADDRESSES A WHERE ((A.EFF_STATUS = 'A' AND A.ADDRESS_TYPE='HOME' AND (A.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES D WHERE D.EMPLID=A.EMPLID AND D.ADDRESS_TYPE='HOME' AND D.EFF_STATUS='A' AND 1= ( SELECT COUNT(*) FROM PS_ADDRESSES A1 WHERE A1.EMPLID=A.EMPLID AND A1.ADDRESS_TYPE='HOME' )) OR (A.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES D WHERE D.EMPLID=A.EMPLID AND D.ADDRESS_TYPE='HOME' AND D.EFF_STATUS='A' AND D.EFFDT<=%CurrentDateIn AND 1< ( SELECT COUNT(*) FROM PS_ADDRESSES A1 WHERE A1.EMPLID=A.EMPLID AND A1.ADDRESS_TYPE='HOME' )) )) ) OR ((A.EFF_STATUS='A' AND A.ADDRESS_TYPE='MAIL' AND (A.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES D WHERE D.EMPLID=A.EMPLID AND D.EFF_STATUS='A' AND D.ADDRESS_TYPE='MAIL'and 1= ( SELECT COUNT(*) FROM PS_ADDRESSES A1 WHERE A1.EMPLID=D.EMPLID AND A1.ADDRESS_TYPE= D.ADDRESS_TYPE) ) OR A.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES D WHERE D.EMPLID=A.EMPLID AND D.EFF_STATUS='A' AND D.ADDRESS_TYPE='MAIL' AND D.effdt<=%CurrentDateIn AND 1< ( SELECT COUNT(*) FROM PS_ADDRESSES A1 WHERE A1.EMPLID=D.EMPLID AND A1.ADDRESS_TYPE= D.ADDRESS_TYPE) ) ) AND ( A.EMPLID NOT IN ( SELECT H.EMPLID FROM PS_ADDRESSES H WHERE H.EMPLID=A.EMPLID AND H.EFF_STATUS='A' AND H.ADDRESS_TYPE='HOME' AND H.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES G WHERE G.EMPLID=H.EMPLID AND G.ADDRESS_TYPE='HOME' AND G.EFF_STATUS='A' ) ) AND A.EMPLID IN ( SELECT H.EMPLID FROM PS_ADDRESSES H WHERE H.EMPLID=A.EMPLID AND H.EFF_STATUS='A' AND H.ADDRESS_TYPE='MAIL' AND H.EFFDT= ( SELECT MAX(EFFDT) FROM PS_ADDRESSES G WHERE G.EMPLID=H.EMPLID AND G.ADDRESS_TYPE='MAIL' AND G.EFF_STATUS='A' ))))))
|