Say I have
(def test-left [{:name "Sean" :age 27} {:name "Ross" :age 27} {:name "Brian" :age 22}])
and
(def test-right [{:owner "Sean" :item "Beer"} {:owner "Sean" :item "Pizza"} {:owner "Ross" :item "Computer"} {:owner "Matt" :item "Bike"}])
When I do a (clojure.set/join test-left test-right) , I get a Cartesian product. 12 rows. What I want is Inner-join on: name left =: owner of the right, to get only those results that have the corresponding rows on the right side
So i get
[{:name "Sean" :age 27 :item "Beer" } {:name "Sean" :age 27 :item "Pizza" } {:name "Ross" :age 27 :item "Computer"}]
Any ideas. Similarly, I would like to get the left and right outer joins, but this is a separate issue. I learn clojure, so please carry me
clojure
Ash
source share