clojure中的内部连接
假设我有clojure中的内部连接,clojure,Clojure,假设我有 (def test-left [{:name "Sean" :age 27} {:name "Ross" :age 27} {:name "Brian" :age 22}]) 及 当我执行(clojure.set/join test left test right)时,我得到一个笛卡尔积。12排。我想要的是:
(def test-left
[{:name "Sean" :age 27}
{:name "Ross" :age 27}
{:name "Brian" :age 22}])
及
当我执行(clojure.set/join test left test right)
时,我得到一个笛卡尔积。12排。我想要的是:name of left=:owner of right上的内部联接,这样我只得到那些在右侧有匹配行的结果
所以我明白了
[{:name "Sean" :age 27 :item “Beer” }
{:name "Sean" :age 27 :item “Pizza” }
{:name "Ross" :age 27 :item “Computer”}]
任何想法。同样地,我们希望实现左外连接和右外连接,但这是一个分离的问题。我正在学习clojure,所以请耐心听我说明白了。我的错
1:24 main-hta=> (clojure.set/join test-left test-right {:name :owner})
得到
1:24 main-hta=> (clojure.set/join test-left test-right {:name :owner})
#{{:item "Pizza", :owner "Sean", :name "Sean", :age 27} {:item "Beer", :owner "Sean", :name "Sean", :age 27} {:item "Computer", :owner "Ross", :name "Ross", :ag
e 27}}