首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kentico中选择抵销单据?

如何在Kentico中选择抵销单据?
EN

Stack Overflow用户
提问于 2019-06-18 02:29:28
回答 1查看 98关注 0票数 0

我试图根据最近的日期列出几个子页面,但是对于某些部分,我想要同一文件夹中的前3个文档和某些区域的其余文章。

我当前的SQL语句如下:

代码语言:javascript
复制
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个或我在top N Documents字段中放置的任何选项。

我希望输出是文章4-6作为例子,但我得到的是第1-3页

EN

回答 1

Stack Overflow用户

发布于 2019-06-19 01:00:11

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

代码语言:javascript
复制
SELECT  TOP 100 PERCENT  DocumentId  FROM CMS_DocumentCategory 

代码语言:javascript
复制
SELECT  TOP 3  DocumentId  FROM CMS_DocumentCategory

因此,我将为您的页面类型创建两个属性:第一个是TopDocuments,它可以是TOP 100 PERCENTTOP 3,另一个DocumentsOrderBy可以是空的,例如ORDER BY DocumentCreatedWhen DESC或任何顺序

因此,您的最终查询应该是

代码语言:javascript
复制
DocumentId IN (  
SELECT  {%TopDocuments%}  DocumentId  FROM CMS_Document join CMS_DocumentCategory ON CMS_Document.DocumentID =  CMS_DocumentCategory.CategoryID
     WHERE CategoryId  IN {%CurrentDocument.Categories.IDs#%} and DocumentID <> {% CurrentDocument.DocumentId #%}
{%DocumentsOrderBy%}
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56636962

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档