我有以下case
表
ORDER BY ( subject IN ('Economics', 'Chemistry') ) ASC,
subject, winner
和简单查询:
Registration
`
如何从少于30天的先前注册中获得该注册集中的所有注册?
因此,对于每个注册,我必须检查是否存在同一个人的先前注册 (对于同一PersonID)。
我可以使用单个查询解决此问题吗?
答案 0 :(得分:0)
您可以使用WHERE EXISTS
子句:
SELECT ID, PersonID, CheckInDate
FROM Registration r1
WHERE CheckInDate>='2018-06-01'
AND CheckInDate< '2018-07-01'
AND EXISTS (SELECT 1 FROM Registration r2
WHERE r1.PersonID = r2.PersonID
AND r1.CheckInDate > r2.CheckInDate
AND datediff(r1.CheckInDate, r2.CheckInDate) < 30)