У меня есть запрос, в котором я хочу, чтобы результат возвратил DOB для человека в соответствии с его «порядковым номером». Он возвращает имя человека правильно, но не его правильную DOB. Я использую функцию MAX, потому что мне нужны все эти данные в одной строке, и если я не использую их, я получаю несколько строк, если с сотрудником связано более одного иждивенца.
Однако, этотянет Max DOB, если есть несколько зависимых, а не тот, который соответствует D.SequentialNumber = 1, что не то, что мне нужно. Что мне здесь не хватает?
Ниже приведен небольшой пример моего запроса:
SELECT EIN.EIN, E.First_Name, E.Last_Name,
Max(IIf(D.SequentialNumber=1,D.DepFirstName)) AS Cov24_First_Name,
Max(IIf(D.SequentialNumber=1,D.DepLastName)) AS Cov24_Last_Name,
Max(IIf(D.SequentialNumber=1 AND nz(D.DepDOB) > 0, "")) AS Cov24_SSN,
Max(IIf(D.SequentialNumber=1 and D.CoveredIndividualSSN >0, "", d.DepDOB)) AS Cov24_DOB
FROM (tblEmp AS E LEFT JOIN tblEIN AS EIN ON E.EIN = EIN.EIN) LEFT JOIN tblDep AS D ON E.Emp_SSN = D.ResponsibleIndividualSSN
GROUP BY EIN.EIN, E.First_Name, E.Middle_Name, E.Last_Name;