# Recursive inner join example

**URL:** <https://discourse.rom-rb.org/t/recursive-inner-join-example/101>\
**Category:** Issues\
**Created:** [November 2, 2016, 6:08pm UTC](https://discourse.rom-rb.org/t/recursive-inner-join-example/101 "2016-11-02T18:08:52Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![apohllo](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.rom-rb.org/apohllo/32/86_2.png) [@apohllo](https://discourse.rom-rb.org/u/apohllo)\
**Post date:** [November 2, 2016, 6:08pm UTC](https://discourse.rom-rb.org/t/recursive-inner-join-example/101/1 "2016-11-02T18:08:52Z")

</div>

Is there any example showing recursive inner joins in ROM?  
I’m trying the following code:

```ruby
sort_levels(selector).each.with_index do |(type, value), index|
  if index == 0
    query = query.prefix("level_0").qualified.where("level_0_type" => type.to_s).where("level_0_name" => value)
  else
    query = query.prefix("level_#{index}").qualified.inner_join(:nodes, "level_#{index}_parent_id" => "level_#{index-1}_id")                                          
  end                                                                                                                                                                 
end    

```

but I get “table name ‘nodes’ specified more than once”.

---

<div class="post-metadata">

**Author:** ![solnic](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.rom-rb.org/solnic/32/279_2.png) [@solnic](https://discourse.rom-rb.org/u/solnic)\
**Post date:** [November 9, 2016, 10:58pm UTC](https://discourse.rom-rb.org/t/recursive-inner-join-example/101/2 "2016-11-09T22:58:28Z")

</div>

Please report it as an issue in rom-sql. A small repro script would be very useful too.
