Domanda

Come interrogare sia la cartella che il documento in modo da poter ottenere:

  1. Tutti i documenti della sottocartella.
  2. Solo la cartella documenti.
  3. Conteggio dei documenti nella sottocartella, con il nome della cartella.
È stato utile?

Soluzione

Ho preso la libertà per nominare le query un po 'diversamente da quello che ha chiesto, ma si adatta anche a farlo.È solo un po 'più chiaro cosa ritorna qualche query.Ho usato la cartella Temp per questo esempio.

    .
  1. Tutti i documenti nella cartella comprese le sottocartelle
  2. .
    SELECT *
    FROM dm_document 
    WHERE FOLDER('/Temp', DESCEND)
    
    .
    1. Tutti i documenti nella cartella
    2. .
      SELECT * 
      FROM dm_document 
      WHERE FOLDER('/Temp')
      
      .
      1. Conteggio di documenti in sottocartelle specifiche sotto qualche cartella
      2. .
        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)
        
        .

Altri suggerimenti

  1. Tutti i documenti all'interno di una cartella e di tutte le sue sottocartelle:

    SELECT * 
    FROM dm_document 
    WHERE FOLDER('/MyCabinet/MyFolder', DESCEND)
    
  2. Tutti i documenti all'interno di una cartella senza sottocartelle:

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

Tutti i documenti della sottocartella:

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

Solo i documenti della cartella: Immagino sia simile alla query sopra ma senza la parola chiave DESCEND.(Non posso testarlo ora.) (Non sono anche sicuro che (all) sia richiesto o meno.)

In case you have unique folder in docbase and you want to find documents in this folder

select * from dm_document where any i_folder_id in (select r_object_id from  
dm_folder where object_name='unique_folder_name')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top