a b/inst/queries/datasetMetadata.xq
1
; datasetMetadata
2
(fn [dataset]
3
    (let [count-table {:select [[:dataset.name :dname] [:%count.value :count]]
4
                       :from [:dataset]
5
                       :join [:field [:= :dataset.id :dataset_id]
6
                       :code [:= :field.id :field_id]]
7
                       :group-by [:dataset.name]
8
                       :where [:= :field.name "sampleID"]}]
9
        (query {:select [:d.name :d.longtitle :count :d.type :d.datasubtype :d.probemap :d.text :d.status [:pm-dataset.text :pmtext]]
10
                   :from [[:dataset :d]]
11
                   :left-join [[:dataset :pm-dataset] [:= :pm-dataset.name :d.probemap]
12
                                count-table [:= :dname :d.name]]
13
                   :where [:= :d.name dataset]})))