如何按最新项目订购Feed?

时间:2013-08-13 15:48:22

标签: sql sql-server tsql

我正在尝试在SQL中创建包含“items”的“提要”,当我收到所有提要(SELECT * FROM Feeds)时,我想在上次更新时排序(最后一次)一个项目已添加到Feed中)。 “item”有一个发布日期列。

到目前为止,我的查询看起来像这样:

SELECT
    F.FeedID,
    F.Title,
    F.Link,
    F.Language,
    F.Copyright,
    F.Subtitle,
    F.Author,
    F.Summary,
    F.OwnerName,
    F.OwnerEmail,
    F.ImageURL,
    F.Category
FROM Feeds F
LEFT JOIN Items I
    ON F.FeedID = I.FeedID
ORDER BY I.PublishDate DESC

不知何故,我想订购加入的“商品”,以便最新的商品与该商品相结合。这可能吗?或者我应该只在“Feed”表中添加“上次更新”列?

2 个答案:

答案 0 :(得分:1)

您需要添加DateTime类型的最后更新列,并根据需要在插入或更新行时适当设置值。也就是说,根据您是否需要最近更新的项目或最近添加的项目(更新与插入)来设置其值,因为它们可能不同。然后,您可以通过此新列进行订购。

您不能对所显示的数据使用order by来查找上次修改的项目,因为发布日期(几乎可以肯定)是该书发布的日期,而不是该行被添加到数据库的日期。

答案 1 :(得分:0)

创建日期和更新日期是在数据库中跟踪的非常重要的事情。

ERD(实体关系图)显示了数据库的布局方式。

http://en.wikipedia.org/wiki/Entity%E2%80%93relationship_model

这两个表的详细信息将有助于清理您要完成的任务。