我正在尝试在ClojureQL中构建以下查询:
SELECT ixIso, MIN(IF(dtDespatched, fQuantity, 0)) AS quantity
FROM IsoItem WHERE fQuantity > 0
GROUP BY ixIso
HAVING quantity < 1
我一直在尝试使用以下代码的变体,基于off this IRC log找到它。
(-> (cql/table DB :IsoItem)
(cql/select (cql/where (> :fQuantity 0)))
(cql/aggregate [[ "MIN(IF(IsoItem.dtDespatched, IsoItem.fQuantity, 0))" :as :quantity]]
[:ixIso] )
(cql/select (cql/where (< :quantity 1))))
但是,它一直给我的查询是:
SELECT IsoItem.ixIso,MIN(IF(IsoItem.dtDespatched, IsoItem.fQuantity, 0)) AS quantity FROM IsoItem WHERE (fQuantity > 0) AND (quantity < 1) GROUP BY IsoItem.ixIso
我觉得我必须遗漏一些如此基本的东西。
答案 0 :(得分:1)
似乎它可能是ClojureQL本身的一个错误,我已经更新了我的project.clj以包含ClojureQL 1.1.0-SNAPSHOT而不是1.0.0并且它已经纠正了这个问题。