OK. I have a report that works fine as is and highlights discrepancies between fields and our 18 digit grant code which is compile fromt he codes (but in not linke din the software and so this is my data validation). I have set-up Crystal alerts to identify onbly the discrepancies, but you cannot export an altert's results, so I want to create a report that just shows me what the alert does; however, crystal syntax is different than SQL and I cannot get my query to run without receivingf the error that it has exceeded the thresold of 3000 (and since this isn't MS Access I cannot just increase this setting; at leas tnot that I know of). here's the query, anyone see anything wrong with it?
Any help is much apprecaited!
Thanks
Joe
SELECT DISTINCT
EBase."EbFirstName", EBase."EbMiddleName", EBase."EbLastName", EBase."EbClock",
EPayrollBase."PrbPayDiv", EPayrollBase."PrbPayDept", EPayrollBase."PrbDistData",
EJob."EjLocation", EJob."EjJobCode",
EEmploy."EeCategory",
EDistribution."DieLineNo", EDistribution."DieDistData", EDistribution."DieDistPercent"
FROM
(EBASE LEFT OUTER JOIN EDISTRIBUTION ON EBASE.EBFLXID = EDISTRIBUTION.DIEFLXIDEB), EEMPLOY, JOBCODE, EPAYROLLBASE, EJOB
WHERE
EBASE."EBFLXID" = EEMPLOY."EEFLXIDEB" AND EBASE."EBFLXID" = EPAYROLLBASE."PRBFLXIDEB" AND EBASE."EBFLXID" = EJOB."EJFLXIDEB" AND EJOB."EJJOBCODE" = JOBCODE."JBJOBCODE" AND EBASE."EBFLAGEMP" = 'Y' AND EJOB."EJDATEEND" IS NULL AND EPAYROLLBASE."PRBDATEEND" IS NULL AND EESTATUS <> 'TERMINATED' AND PRBPAYRLSTATUS <> 'T' AND
(EJob.EjJobCode <> Substring (EPayrollBase.PrbDistData,16,3)OR
(EEmploy.EeCategory = 'F' AND Substring (EPayrollBase.PrbDistData,14,2) <> '70')
OR (EEmploy.EeCategory = 'PFT'AND Substring (EPayrollBase.PrbDistData,14,2) <> '70')
OR (EEmploy.EeCategory = 'P' AND substring(Epayrollbase.PrbDistData,14,2) <> '71')
OR Substring (EPayrollBase.PrbDistData,9,2) <> EPayrollBase.PrbPayDept
OR Substring (EPayrollBase.PrbDistData,11,3) <> EJob.EjLocation)
OR
((Substring (EPayrollBase.PrbDistData,5,2) <> '91' AND Left(EPayrollBase.PrbPayDiv,1) <> 'S' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '97' AND Left(EPayrollBase.PrbPayDiv,1) <> 'L' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '90' AND Left(EPayrollBase.PrbPayDiv,1) <> 'P' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '20' AND Left(EPayrollBase.PrbPayDiv,1) <> 'O' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '10' AND Left(EPayrollBase.PrbPayDiv,1) <> 'A' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '44' AND Left(EPayrollBase.PrbPayDiv,1) <> 'D' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '31' AND Left(EPayrollBase.PrbPayDiv,1) <> 'G' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '21' AND Left(EPayrollBase.PrbPayDiv,1) <> 'F' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
Any help is much apprecaited!
Thanks
Joe
SELECT DISTINCT
EBase."EbFirstName", EBase."EbMiddleName", EBase."EbLastName", EBase."EbClock",
EPayrollBase."PrbPayDiv", EPayrollBase."PrbPayDept", EPayrollBase."PrbDistData",
EJob."EjLocation", EJob."EjJobCode",
EEmploy."EeCategory",
EDistribution."DieLineNo", EDistribution."DieDistData", EDistribution."DieDistPercent"
FROM
(EBASE LEFT OUTER JOIN EDISTRIBUTION ON EBASE.EBFLXID = EDISTRIBUTION.DIEFLXIDEB), EEMPLOY, JOBCODE, EPAYROLLBASE, EJOB
WHERE
EBASE."EBFLXID" = EEMPLOY."EEFLXIDEB" AND EBASE."EBFLXID" = EPAYROLLBASE."PRBFLXIDEB" AND EBASE."EBFLXID" = EJOB."EJFLXIDEB" AND EJOB."EJJOBCODE" = JOBCODE."JBJOBCODE" AND EBASE."EBFLAGEMP" = 'Y' AND EJOB."EJDATEEND" IS NULL AND EPAYROLLBASE."PRBDATEEND" IS NULL AND EESTATUS <> 'TERMINATED' AND PRBPAYRLSTATUS <> 'T' AND
(EJob.EjJobCode <> Substring (EPayrollBase.PrbDistData,16,3)OR
(EEmploy.EeCategory = 'F' AND Substring (EPayrollBase.PrbDistData,14,2) <> '70')
OR (EEmploy.EeCategory = 'PFT'AND Substring (EPayrollBase.PrbDistData,14,2) <> '70')
OR (EEmploy.EeCategory = 'P' AND substring(Epayrollbase.PrbDistData,14,2) <> '71')
OR Substring (EPayrollBase.PrbDistData,9,2) <> EPayrollBase.PrbPayDept
OR Substring (EPayrollBase.PrbDistData,11,3) <> EJob.EjLocation)
OR
((Substring (EPayrollBase.PrbDistData,5,2) <> '91' AND Left(EPayrollBase.PrbPayDiv,1) <> 'S' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '97' AND Left(EPayrollBase.PrbPayDiv,1) <> 'L' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '90' AND Left(EPayrollBase.PrbPayDiv,1) <> 'P' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '20' AND Left(EPayrollBase.PrbPayDiv,1) <> 'O' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '10' AND Left(EPayrollBase.PrbPayDiv,1) <> 'A' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '44' AND Left(EPayrollBase.PrbPayDiv,1) <> 'D' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '31' AND Left(EPayrollBase.PrbPayDiv,1) <> 'G' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))
OR ((Substring (EPayrollBase.PrbDistData,5,2) <> '21' AND Left(EPayrollBase.PrbPayDiv,1) <> 'F' AND Substring (EPayrollBase.PrbPayDiv,2,2) <> Substring (EPayrollBase.PrbDistData,7,2)))