I've tried searching for this on stackoverflow but I can't find the answer.
I'm simplifying my problem so it reads easier, I'll expand if necessary.
I've got a Employee SQL table with NAME, ADDRESS, HIRE_DATE and we recently added a REHIRE_DATE to keep track of when new employees restart with the company. I'd like to write a SQL search to pull the NAME, ADDRESS and their most recent hire date. If they're a rehire I'd use the REHIRE_DATE field but if they're original use the HIRE_DATE field. I'm guessing it's a CASE statement that's looking for a NULL in the REHIRE_DATE field but beyond that I'm lost.
EmploymentPeriod (EmployeeID (FK), StartDate, EndDate). With your current configuration if an employee restarts for a third time there is nowhere to store the rehire date without losing the last rehire date. If you use a one to many table relationship they can leave and come back as many times as they like without causing database problems.