想在HoneySQL查询中创建UNION
(MySQL,但PostgreSQL也有它们)。 Searching the source code表明这可能是可能的,但并未提出一种明显的尝试方法。
答案 0 :(得分:2)
似乎没有辅助函数,但您可以使用sql / build:
(sql/format (sql/build :union [(-> (select :*)
(from :table1))
(-> (select :*)
(from :table2))]))
=> ["(SELECT * FROM table1) UNION (SELECT * FROM table2)"]
这个助手可以工作,虽然它与其他助手不太相似:
(defhelper union [m1 m2]
{:union [m1 m2]})
(sql/format (union (-> (select :*) (from :table1))
(-> (select :*) (from :table2)))