我的SQL似乎让我今天早上失望了。我有一个列
的表Id, Guid,AttributeId,AttributeValue,CreationDate,Status
这可以存储来自有大约15页的qustonnaire的数据。每次你转到问卷中的下一个问题(下一页)时,整个问卷都会持久到表中,即在完成第一个问题后,问题数据存储在表中,完成第二个问题后,第一个和第二个问题问题坚持到表中意味着知道,我们在表中保存了两个第一个问题和第二个问题。
我需要编写一个查询,该查询将返回给定问卷(以及所有问卷)的最新批量保存数据。即如果用户得到问题13,我只想要返回那组数据。
答案 0 :(得分:1)
像...一样的东西。
SELECT Q.*
FROM Questionnaire Q
INNER JOIN (
SELECT TOP 1 Guid, CreationDate
FROM Questionnaire
ORDER BY CreationDate DESC
) Q2
ON Q2.Guid = Q.Guid AND Q2.CreationDate = Q.CreationDate
......应该这样做。加入Guid可能是多余的 - 你可能需要一个WHERE来确保你得到特定用户/会话的问卷。
答案 1 :(得分:0)
也许这就是诀窍......
SELECT TOP 1 * FROM Questionaire ORDER BY CreationDate DESC