Я пытаюсь построить следующий запрос в 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 Я чувствую, что, должно быть, мне не хватает чего-то такого базового.
(-> (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
Я чувствую, что, должно быть, мне не хватает чего-то такого базового.
Похоже, что это может быть ошибка в самом ClojureQL, я обновил свой project.clj, чтобы включить ClojureQL 1.1.0-SNAPSHOT вместо 1.0.0, и это исправило проблему.