1

我正在尝试在 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

我觉得我一定错过了一些如此基本的东西。

4

1 回答 1

1

似乎它可能是 ClojureQL 本身的一个错误,我已经更新了我的 project.clj 以包含 ClojureQL 1.1.0-SNAPSHOT 而不是 1.0.0,并且它已经纠正了这个问题。

于 2011-10-19T05:53:51.493 回答