我正在尝试在 ClojureQL 中构建以下查询:
SELECT ixIso, MIN(IF(dtDespatched, fQuantity, 0)) AS quantity
FROM IsoItem WHERE fQuantity > 0
GROUP BY ixIso
HAVING quantity < 1
我一直在尝试以下代码的变体,基于我找到的这个 IRC 日志。
(-> (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
我觉得我一定错过了一些如此基本的东西。