【发布时间】:2019-09-11 07:38:19
【问题描述】:
我在表中维护车辆操作的历史记录,在执行查询以获取基于事务的记录后,我想从上述查询的已返回结果中选择基于 LIKE 条件的记录
这是我正在使用的查询(感谢@TimBiegeleisen Selecting unique records after order by clause)
SELECT TOP 1 WITH TIES HVeh.RefVehicleModel, HVeh.RefVehStatus, HVeh.ChangedDate
FROM HVeh
WHERE ChangedDate >= @X AND ChangedDate <= @Y
ORDER BY ROW_NUMBER() OVER (PARTITION BY HVeh.RefVehicleModel ORDER BY HVeh.ChangedDate DESC);
我想要的是期待这个查询的结果并根据车辆的停放位置来过滤它们。像
Select A,B,C from tblSites and (SELECT TOP 1 WITH TIES.. - this query)
where tblSites.Location LIKE '%LDN%'.....
附:我不能对当前查询使用这个 LIKE 条件,因为它会影响返回的结果,这可能导致返回不是最新修改记录的结果(我不想要)
我想我可以尝试如下方式(将其添加到当前查询的末尾),但我不确定它是否是最好的方法
INNER JOIN Sites on Sites.Id = sd.Id AND Sites.Place LIKE '%LDN%'
sd指第一个子查询的别名
【问题讨论】:
-
tblSites与您的第一个查询结果有何关联? -
基于
HVeh表中的外键引用RefSites -
请在您的问题中添加示例数据。就目前而言,它对未来的任何人都没有太大帮助。
标签: sql sql-server