我有两个表需要在我的SQL中考虑日期。
我需要确定创建t2记录时t1中数据的状态。所以我理解修改日期必须在创建记录之前。我已经做过了。但它必须是在创建t2中的记录之前进行的最后一次修改。
我如何做到这一点?我在这里创造了一个小提琴:
更新:我能够得到90%可行的答案。我现在唯一的问题是如果日期中存在完全匹配
对于查尔斯泽维尔记录,数据回复为' at'它应该在哪里' t1'
答案 0 :(得分:0)
好的,所发生的小错误是外部申请应按日期排序,如果它需要最新的
SELECT t1.StaffName, t1.DateAppointed, t2.DateSet, t2.PName
FROM Staff t1
OUTER APPLY (
SELECT TOP 1 m.DateSet, m.PName
FROM MPHist m
WHERE t1.DateAppointed >= m.DateSet AND m.PvpId = t1.PvpId
ORDER BY m.DateSet
) t2
需要发布SQL,因为SQLFiddle在尝试更新小提琴或甚至创建新的小提琴时都会出现问题