我试图根据最近的日期列出几个子页面,但是对于某些部分,我希望获得前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页
答案 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