pd.rename(index=str,columns={'A':'a','B':'b'})
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.rename.html
SELECT a.SSN, a.PersonName, b.TestDate, b.Score
FROM ((Personnel AS a
INNER JOIN Tests AS b
ON a.SSN = b.SSN)
INNER JOIN
(
SELECT SSN, MAX(TestDate) AS MAX_DATE
FROM Tests
GROUP BY SSN
) AS c ON b.SSN = c.SSN AND
b.TestDate = c.MAX_DATE)
UPDATE 1
Существует много способов решить эту проблему, но решение, которое я использую, - это так. Обычно соединение между Personnel
и Test
будет давать все записи, но это не совсем то, что вы хотите. Поэтому я присоединился к нему с подзапросом, который получает последний TestDate
для каждого SSN
, и результат подзапроса затем объединяется обратно в две таблицы при условии, что он соответствует двум условиям: SSN
и TestDate
.