我使用Postgresql和sqlkorma 0.4。
CREATE TABLE mytable (id serial PRIMARY KEY,
a integer NOT NULL, b integer NOT NULL);
如何制作:
SELECT * FROM mytable WHERE a > b
我已经尝试了
(defentity mytable
(pk :id)
(table :mytable))
和
(select table mytable
(fields :a :b)
(where (> a b)))
但它不起作用。
答案 0 :(得分:0)
(sql-only
(select my-table (where {:a [> :b]})))
;; => "SELECT `my-table`.* FROM `my-table` WHERE (`my-table`.`a` > `my-table`.`b`)"
答案 1 :(得分:-1)
我不确定这是否是一个有效的答案,但我建议看看Yesql:
https://github.com/krisajenkins/yesql
在大多数情况下,您不需要DSL来重复SQL已经完成的操作。
我以前经常与Korma合作,发现自己花了太多时间将SQL转换为Korma语法。