我在数据库中有以下两个表。一个表是人员表,另一个表是条目表,条目表记录部门的人员进入
人表
Person
Person_ID Person_NIC Person_Name Person_Last_Name Person_Age State
1 121212 ABC BCD 12 ACTIVE
2 212121 ABB BBB 13 NONACTIVE
3 111111 BBB CCC 14 ACTIVE
输入表
ENTRY
Entry_ID Person_ID Entry_Escort Entry_Date
1 1 David 20121210
2 1 David 20130110
3 1 David 20130111
4 1 David 20130112
5 1 David 20130113
6 2 David 20121210
7 2 David 20130110
8 2 David 20130111
9 2 David 20130112
10 2 David 20130113
我必须为以下情况编写sql。我需要查找人员的上次输入日期,该日期对于在一月份的数据库中如何处于非活动状态。有人可以帮助我进行查询吗?在此先感谢您的帮助。
最佳答案
这应该像这样简单:
SELECT p.Person_ID, MAX(e.Entry_Date) as MaxEntryDate
FROM
Person p
INNER JOIN Entry e
ON p.Person_NIC = e.EntryID
WHERE p.State = 'NONACTIVE'
AND Entry_Date BETWEEN 20130101 AND 20130131
GROUP BY p.Person_ID