SQL不同的查询

时间:2010-11-02 09:57:09

标签: sql

我的SQL似乎让我今天早上失望了。我有一个列

的表
Id, Guid,AttributeId,AttributeValue,CreationDate,Status

这可以存储来自有大约15页的qustonnaire的数据。每次你转到问卷中的下一个问题(下一页)时,整个问卷都会持久到表中,即在完成第一个问题后,问题数据存储在表中,完成第二个问题后,第一个和第二个问题问题坚持到表中意味着知道,我们在表中保存了两个第一个问题和第二个问题。

我需要编写一个查询,该查询将返回给定问卷(以及所有问卷)的最新批量保存数据。即如果用户得到问题13,我只想要返回那组数据。

2 个答案:

答案 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