如何在Kentico中选择偏移文件?

时间:2019-06-17 18:29:28

标签: sql where kentico

我试图根据最近的日期列出几个子页面,但是对于某些部分,我希望获得前3个文档,而对于某些区域,则需要其余文章来自同一文件夹。

我当前的SQL语句如下:

DocumentId NOT IN ( IF EXISTS 
  ( SELECT DocumentId 
      FROM CMS_DocumentCategory 
      WHERE CategoryId 
      IN ({%CurrentDocument.Categories.IDs#%}) 
        and DocumentID <> {% CurrentDocument.DocumentId #%} ) 
BEGIN SELECT TOP 3 DocumentId
      FROM CMS_DocumentCategory 
      WHERE CategoryId 
      IN {%CurrentDocument.Categories.IDs#%} 
        and DocumentID <> {% CurrentDocument.DocumentId #%}
      ORDER BY Date DESC
END ELSE SELECT 0 AS [value] END )

但是,即使删除了整个代码块,Web部件仍仅显示前4个或我在“前N个文档”字段中放置的任何选项。

我希望输出示例为第4-6条,但我将获得第1-3页

1 个答案:

答案 0 :(得分:0)

不确定我是否正确理解逻辑,但这是我的2美分,您可以通过两种方式使用sql TOP:

static var previews: some View {
    Group {
        LandmarkRow(landmark: landmarkData[0])
        LandmarkRow(landmark: landmarkData[1])
    }
    .previewLayout(.fixed(width: 300, height: 70))
}

SELECT  TOP 100 PERCENT  DocumentId  FROM CMS_DocumentCategory 

因此,我将为您的页面类型创建2个属性: 第一个是 TopDocuments ,可以为SELECT TOP 3 DocumentId FROM CMS_DocumentCategory TOP 100 PERCENT,另一个是 DocumentsOrderBy ,可以为空,例如TOP 3或任何顺序

所以您的最终查询应该是

ORDER BY DocumentCreatedWhen DESC