【问题标题】:DQL to find out current version documents in a folderDQL 查找文件夹中的当前版本文档
【发布时间】:2014-09-23 06:42:37
【问题描述】:

如何同时查询文件夹和文档,以便我们可以得到:

  1. 所有子文件夹文档。
  2. 仅文件夹文档。
  3. 子文件夹中的文档计数,带有文件夹名称。

【问题讨论】:

  • 还有什么不适合你?
  • 对于问题 3,您是否正在寻找类似于扩展树视图的东西,每个文件旁边都有许多包含的文档?仅通过 DQL 实现这一点真的很难,如果不是不可能的话。我会推荐几个 DQL 和一些代码。
  • 我觉得有些连接可以做出来..
  • 是的,它可以,但是如果您需要路径,您会遇到从多种类型中选择并同时重复属性的问题,如果我没记错的话,这是不可能的。如果您确实需要 一个单一的 查询来完成所有这些,我建议您使用子查询。您还需要某种形式的 GROUP BY 来获取每个文件夹的计数。
  • 好的,谢谢eivamu...如果我遇到一些解决方案,我会发布...

标签: directory document dql documentum


【解决方案1】:

如果您在 docbase 中有唯一的文件夹,并且您想在此文件夹中查找文档

select * from dm_document where any i_folder_id in (select r_object_id from  
dm_folder where object_name='unique_folder_name')

【讨论】:

    【解决方案2】:

    我冒昧地命名查询的名称与 OP 要求的有所不同,但它也适合它。某些查询返回的内容更清楚一点。我在这个例子中使用了 Temp 文件夹。

    1. 文件夹中的所有文档,包括子文件夹
    SELECT *
    FROM dm_document 
    WHERE FOLDER('/Temp', DESCEND)
    
    1. 文件夹中的所有文档
    SELECT * 
    FROM dm_document 
    WHERE FOLDER('/Temp')
    
    1. 某个文件夹下特定子文件夹中的文档计数
    SELECT COUNT(doc.r_object_id) AS doc_ammount, fol.object_name AS folder_object_name 
    FROM dm_document doc, dm_folder fol 
    WHERE FOLDER('/Temp', descend) AND ANY doc.i_folder_id = fol.r_object_id 
    GROUP BY (fol.object_name)
    

    【讨论】:

      【解决方案3】:
      1. 一个文件夹及其所有子文件夹中的所有文档:

        SELECT * 
        FROM dm_document 
        WHERE FOLDER('/MyCabinet/MyFolder', DESCEND)
        
      2. 文件夹中的所有文档没有子文件夹:

        SELECT * 
        FROM dm_document 
        WHERE FOLDER('/MyCabinet/MyFolder')
        

      【讨论】:

        【解决方案4】:

        所有子文件夹文件:

        SELECT r_object_id, object_name 
        FROM dm_document(all) 
        WHERE folder('/myCabinet/myFolder/', DESCEND)
        

        仅文件夹文档:我猜它类似于上面的查询,但没有 DESCEND 关键字。 (我现在无法测试。)(我也不确定是否需要(all)。)

        【讨论】:

        • (all) 表示它将选择所有版本。通常一个人会没有。 DESCEND 工作正常。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多