Here is my actual statment. What I need to do is figure out under the 'WHERE' clause. I need to pull the record for a particualr person that has a record that matches BENCOMP3 and EmAnnual is >0 otherwise I need to get the BASE record and EmAnnual amount for the employee.
QUERY:
SELECT
'EMP' AS 'RecordType',
'252' AS ClientID,
'SCP' AS ClientCode,
'O' AS DataDestination,
EBase.EbSocnumber AS SSN,
EBase.EbSocNumber AS LoginID,
RIGHT(EBase.EbSocnumber,4) AS Password,
EBase.EbLastName AS LastName,
EBase.EbFirstName AS FirstName,
EBase.EbMiddleName AS MiddleName,
LEFT (EPerson.EpSex,1) AS Gender,
CONVERT (Varchar(12), EPerson.EpDateBorn, 101) AS BirthDate,
EPerson.EpStreet1 AS PrimaryAddressLine1,
EPerson.EpStreet2 AS PrimaryAddressLine2,
EPerson.EpCity AS PrimaryCity,
EPerson.EpState AS PrimaryStateCode,
EPerson.EpZip AS PrimaryZipCode,
'' AS AlternateAddressLine1,
'' AS AlternateAddressLine2,
'' AS AlternateCity,
'' AS AlternateStateCode,
'' AS AlternateZipCode,
EPerson.EpEMail AS Email,
EPerson.EpHomePhone AS HomePhone,
EJob.EjFaxPhone AS Fax,
CONVERT (Varchar(12), EEmploy.EeDateLastHire, 101) AS HireDate,
CONVERT (Varchar(12), EEmploy.EeTermDate, 101) AS TerminationDate,
EBase.EbEmpNumber AS EmployeeNumber,
EComp.EmAnnual AS AnnualWage,
' ' AS EmployeeType,
'[Calculate]' AS OriginalEffectiveDate,
'[Calculate]' AS ChangeEffectiveDate,
RIGHT (EJob.EjFlxIDBub ,5) AS GroupID,
RIGHT ('000' + EJob.EjDivision ,4) AS SubGroup,
EBase.EbClock AS JobCategory,
EBase.EbPSID AS HealthClass,
Eemploy.EeCategory AS WorkCategory,
Eemploy.EeStatus AS CostCenter,
EPerson.EpMarital AS MaritalStatus,
EComp.EmHoursPerPay AS 'Scheduled Hours',
JobCode.JbFlsa AS 'Exempt/Non-Exempt',
EJob.EjWorkPhone AS 'Work Phone',
EJob.EjExt AS 'Work Ph. Ext.',
EPerson.EpPrimaryEmergContact AS 'JobTitle',
EPerson.EpHomePhone AS 'Emergency Phone',
EPayrollBase.PrbRateCode AS 'Hourly/Salary',
EJob.EjWhyTerm AS 'Termination Reason',
EEmploy.EeKeyEmp AS 'Key Person',
CONVERT (Varchar(12), EEmploy.EeDateOriginalHire, 101) AS 'Original Hire Date',
CONVERT (Varchar(12), EEmploy.EeDateLastHire, 101) AS 'Last Hire Date',
EComp.EmAnnual AS 'Annualized Rate of Pay',
EComp.EmKind AS 'Kind of Compensation',
'' AS 'LOAEndDate',
'' AS 'LOAStartDate',
EBase.EbFlxID AS 'FLEX ID',
EEmploy.EeDateBeg AS 'Employee Status Date'
FROM
EBase, EPerson, EJob, EEmploy, EPayrollBase, JobCode, EComp
WHERE
EpFlxIDEb = EbFlxID AND
EjFlxIDEb = EbFlxID AND
EeFlxIDEb = EbFlxID AND
PrbFlxIDEb = EbFlxID AND
EmFlxIDEb = EbFlxID AND
EjJobCode = JbJobCode AND
(EpDateBeg <= GetDate () AND
(EpDateEnd >= GetDate () OR EpDateEnd IS NULL)) AND
(EjDateBeg <= GetDate () AND
(EjDateEnd >= GetDate () OR EjDateEnd IS NULL)) AND
(EeDateBeg <= GetDate () AND
(EeDateEnd >= GetDate () OR EeDateEnd IS NULL)) AND
(PrbDateBeg <= GetDate () AND
(PrbDateEnd >= GetDate () OR PrbDateEnd IS NULL)) AND
(EmDateBeg <= GetDate () AND
(EmDateEnd >= GetDate () OR EmDateEnd IS NULL)) AND
EmKind IN ('BASE', 'BENCOMP3') AND EbFlagEmp = 'Y' OR
(EbDateEnd <> NULL AND
EeDateEnd IS NULL AND
PrbDateEnd IS NULL AND
EbFlagEmp = 'Y' AND
EbRecType = 'EBAS' AND
EpRecType = 'EPER' AND
EpDateEnd = EbDateEnd AND
EjDateEnd = EbDateEnd AND
EmDateEnd = EbDateEnd AND
EbDateEnd > GetDate())