Postgresql 如何通过比较SqlKorma(clojure)中的两个字段来生成where子句
我正在使用Postgresql和sqlkorma 0.4Postgresql 如何通过比较SqlKorma(clojure)中的两个字段来生成where子句,postgresql,clojure,korma,Postgresql,Clojure,Korma,我正在使用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)) 及 但它不起作用 我不确定这是否是一个有
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))
及
但它不起作用 我不确定这是否是一个有效的答案,但我建议看看Yesql: 在大多数情况下,您不需要DSL来重复SQL已经完成的工作
我自己也经常使用Korma,发现自己花了太多时间将SQL转换成Korma语法,就像这样。我不确定这是否是一个有效的答案,但我建议看看Yesql:
(sql-only
(select my-table (where {:a [> :b]})))
;; => "SELECT `my-table`.* FROM `my-table` WHERE (`my-table`.`a` > `my-table`.`b`)"
在大多数情况下,您不需要DSL来重复SQL已经完成的工作
我自己也经常使用Korma,发现自己花了太多时间把SQL转换成这样的Korma语法。但你的意思是什么?我应该用sql编写查询吗?我认为DSL具有IDE语法检查的优势。Korma的上一次发布是2014年8月27日,最后一次提交是17天前(2014年12月26日)。我想可以肯定地说,它仍然被保留着。@好奇请花些时间阅读Yesql的自述。Clojure DSL for SQL在IDE的支持方面不如纯文本SQL。@Kyle好吧,我对Korma的维护错了。谢谢你指出,但你是什么意思?我应该用sql编写查询吗?我认为DSL具有IDE语法检查的优势。Korma的上一次发布是2014年8月27日,最后一次提交是17天前(2014年12月26日)。我想可以肯定地说,它仍然被保留着。@好奇请花些时间阅读Yesql的自述。Clojure DSL for SQL在IDE的支持方面不如纯文本SQL。@Kyle好吧,我对Korma的维护错了。谢谢你指出
(sql-only
(select my-table (where {:a [> :b]})))
;; => "SELECT `my-table`.* FROM `my-table` WHERE (`my-table`.`a` > `my-table`.`b`)"