[Date Prev][Date Next][Thread Prev][Thread Next]
[Author Index]
[Date Index]
[Thread Index]
[SQR-USERS Info]
[SQRUG Home Page]
RE: [sqr-users] Select statement picking 1 EE twice - EE has beenHired, Termed, Rehired
- Subject: RE: [sqr-users] Select statement picking 1 EE twice - EE has beenHired, Termed, Rehired
- From: "Alexander, Steven" <Steven.Alexander@sanjoseca.gov>
- Date: Thu, 18 May 2006 15:42:01 -0700
- Delivery-date: Thu, 18 May 2006 18:44:34 -0400
- List-id: "This list is for discussion about the SQR database reportinglanguage from Hyperion Solutions." <sqr-users.sqrug.org>
Do you have more than one value of EMPL_RCD for this employee?
-----Original Message-----
From: Bob Stone [mailto:bstone@fastenal.com]
Sent: Thursday, May 18, 2006 3:04 PM
To: This list is for discussion about the SQR database reporting
languagefrom Hyperion Solutions.
Subject: RE: [sqr-users] Select statement picking 1 EE twice - EE has
beenHired, Termed, Rehired
I don't know your tables data, but I would think that the 2 'f.field =
(select max(field)...)' is where your problem would be.
-----Original Message-----
From: sqr-users-bounces+bstone=fastenal.com@sqrug.org
[mailto:sqr-users-bounces+bstone=fastenal.com@sqrug.org] On Behalf Of
Joe Johnson
Sent: Thursday, May 18, 2006 4:43 PM
To: 'This list is for discussion about the SQR database
reportinglanguage from Hyperion Solutions.'
Subject: [sqr-users] Select statement picking 1 EE twice - EE has been
Hired,Termed, Rehired
I have an SQR and the main select is:
SELECT
F.LOCATION
,A.EMPLID
,A.PLAN_TYPE
,A.COVERAGE_BEGIN_DT
,A.FLAT_AMOUNT
,C.BENEFIT_PROGRAM
,B.BIRTHDATE
,BB.SEX
,D.RATE_TBL_ID
from PS_LIFE_ADD_BEN A,
PS_PERSON B,
PS_PERS_DATA_EFFDT BB,
PS_BEN_PROG_PARTIC C,
PS_BEN_DEFN_OPTN G,
PS_BEN_DEFN_COST D,
PS_JOB F,
PS_RUN_CNTL_HR RC1
WHERE A.PLAN_TYPE = '21'
AND A.EFFDT = (
SELECT MAX(EFFDT) FROM PS_LIFE_ADD_BEN
WHERE EMPLID = A.EMPLID
AND EMPL_RCD = A.EMPL_RCD
AND PLAN_TYPE = A.PLAN_TYPE
AND BENEFIT_NBR = A.BENEFIT_NBR
AND EFFDT <= $AsOfToday)
AND A.COVERAGE_BEGIN_DT <= $RUNCTL_DT
AND A.COVERAGE_ELECT = 'E'
AND B.EMPLID = A.EMPLID
AND BB.EMPLID = B.EMPLID
AND BB.EFFDT = (
SELECT MAX(EFFDT) FROM PS_PERS_DATA_EFFDT
WHERE EMPLID = BB.EMPLID
AND EFFDT <= $AsOfToday)
AND C.EMPLID = B.EMPLID
AND C.EMPL_RCD = A.EMPL_RCD
AND C.EFFDT = (
SELECT MAX(EFFDT) FROM PS_BEN_PROG_PARTIC
WHERE EMPLID = C.EMPLID
AND EMPL_RCD = C.EMPL_RCD
AND COBRA_EVENT_ID = C.COBRA_EVENT_ID
AND EFFDT <= $AsOfToday)
AND G.BENEFIT_PROGRAM = C.BENEFIT_PROGRAM
AND G.EFFDT = (
SELECT MAX(EFFDT) FROM PS_BEN_DEFN_OPTN
WHERE BENEFIT_PROGRAM = G.BENEFIT_PROGRAM
AND EFFDT <= $AsOfToday)
AND G.PLAN_TYPE = A.PLAN_TYPE
AND G.BENEFIT_PLAN = A.BENEFIT_PLAN
AND D.BENEFIT_PROGRAM = G.BENEFIT_PROGRAM
AND D.EFFDT = G.EFFDT
AND D.PLAN_TYPE = A.PLAN_TYPE
AND D.OPTION_ID = G.OPTION_ID
AND F.EMPLID = A.EMPLID
AND F.EMPL_RCD = A.EMPL_RCD
AND F.EFFDT = (
SELECT MAX(EFFDT) FROM PS_JOB
WHERE EMPLID = F.EMPLID
AND EMPL_RCD = F.EMPL_RCD
AND EFFDT <= $AsOfToday)
AND F.EFFSEQ = (
SELECT MAX(EFFSEQ) FROM PS_JOB
WHERE EMPLID = F.EMPLID
AND EMPL_RCD = F.EMPL_RCD
AND EFFDT = F.EFFDT)
AND F.EMPL_STATUS IN ('A','L','P','S')
AND RC1.OPRID = 'joeblow'
AND RC1.RUN_CNTL_ID = 'jz'
ORDER BY B.BIRTHDATE DESC
But it returns both the 'HIR' row and the 'REH' row from JOB for this
EE:
EMPLID EMPL_RCD EFFDT EFFSEQ DEPTID JOBCODE EMPL_STATUS
ACTION ACTION_DT ACTION_REASON
----------- -------- ------------- ------ ---------- ------- -----------
------ ------------ -------------
999999 0 2005-07-11 0 XYZ310 Q31001 A
HIR
2005-07-14 HIR
999999 0 2005-12-31 0 XYZ310 Q31001 T
TER
2005-12-30 QWN
999999 0 2006-03-17 0 XYZ100 U10010 A
REH
2006-03-20 REH
And it grabs both of the COVG_ELECT = 'E' rows from LIFE_ADD_BEN:
EMPLID EMPL_RCD PLAN_TYPE BEN_NBR EFFDT DEDUCT_END_DT
COVG_BEG_DT
COVG_END_DT COVG_ELECT COVG_ELECT_DT BEN_PLAN FLAT_AMOUNT
-------- -------- --------- ------- ----------- --------------
------------
------------ ---------- -------------- -------- -----------
999999 0 21 0 2005-07-30 NULL
2005-08-01
NULL E 2005-07-28 SUPLIF 50000
999999 0 21 0 2005-12-31 NULL
2005-12-31
NULL T 2006-01-04 0
999999 0 21 0 2006-04-01 NULL
2006-04-01
NULL E 2006-04-07 SUPLIF 50000
I know it is a max(effdt) problem with my select (or at least I think it
is).
I ran this on 5/18/06 and am using a $RUNCTL_DT = '2006-04-02'
TIA,
Joe Johnson
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users
_______________________________________________
sqr-users mailing list
sqr-users@sqrug.org
http://www.sqrug.org/mailman/listinfo/sqr-users