首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过比较SqlKorma中的两个字段(clojure)来生成where子句

如何通过比较SqlKorma中的两个字段(clojure)来生成where子句
EN

Stack Overflow用户
提问于 2015-01-11 17:13:40
回答 2查看 183关注 0票数 2

我使用Postgresql和sqlkorma 0.4。

代码语言:javascript
复制
CREATE TABLE mytable (id serial PRIMARY KEY, 
   a integer NOT NULL, b integer NOT NULL);

如何使:

代码语言:javascript
复制
SELECT * FROM mytable WHERE a > b

我试过了

代码语言:javascript
复制
(defentity mytable
       (pk :id)
       (table :mytable))

代码语言:javascript
复制
(select table mytable
  (fields :a :b)
  (where (> a b)))

但不起作用。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-11 21:59:40

代码语言:javascript
复制
(sql-only
  (select my-table (where {:a [> :b]})))
;; => "SELECT `my-table`.* FROM `my-table` WHERE (`my-table`.`a` > `my-table`.`b`)"
票数 0
EN

Stack Overflow用户

发布于 2015-01-11 17:45:57

我不确定这是否是一个有效的答案,但我建议看看Yesql:

https://github.com/krisajenkins/yesql

在大多数情况下,您不需要DSL来重复SQL已经做过的事情。

我以前经常使用Korma,发现自己花了太多时间将SQL转换为Korma语法。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27889797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档