【发布时间】:2020-05-10 06:14:22
【问题描述】:
我有一个像这样的Members 表:
PersonID FirstName Address City date
---------------------------------------------------------
3 Rasanga Skagen 21 South 2019-01-05
还有一个Persons 表:
PersonID FirstName Address City date
-------------------------------------------------------
3 Rasanga Skagen 21 South 2019-01-06
1 Tom B. Skagen 21 Colombo 2018-01-07
2 Tom B. Skagen 21 Colombo 2019-01-05
我想使用FirstName 列获取Members 表中不存在的Persons。为此,我正在使用此查询:
SELECT *
FROM Persons p
WHERE NOT EXISTS (SELECT * FROM Members m WHERE m.FirstName = p.FirstName)
当我执行上述查询时,我得到了相同的名字和 2 条记录,但我的要求是如果有 2 条同名记录使用日期列检索最新记录。因此,上述情况应该是 Tom B.,记录为 2018-01-07。如果两条记录的日期相同,则应从 2 条记录中检索 1 条记录。
有人能解释一下怎么做吗?
【问题讨论】:
-
你有
personid,为什么还要用firstname加入?你需要更多解释你在做什么。
标签: sql sql-server subquery