title: Recursive SQL query to identify
body: <p>Please see the DDL below:</p>
  
  <pre><code>CREATE TABLE #MasterChild (MasterID decimal(25,0), ChildID decimal(25,0), ChildCreTime datetime)
  insert into #MasterChild values (150021032000000173536533,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173571072,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173573651,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173574917,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173582487,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173604342,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173931636,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173935066,150021032000000173946207,'2016-04-22 13:27:30.483')
  insert into #MasterChild values (150021032000000173946207,150021032000000173952172,'2016-04-22 13:38:32.747')
  insert into #MasterChild values (150021032000000173946207,150021032000000173954415,'2016-04-22 13:43:28.120')
  insert into #MasterChild values (150021032000000173536533,150021032000000173954321,'2016-04-22 13:43:28.120')
  insert into #MasterChild values (150021032000000173954321,150021032000000173954319,'2016-04-22 13:43:28.120')
  </code></pre>
  
  <p>and the SQL below:</p>
  
  <pre><code>with GetAllMerges
  as
  (
  select masterid,childid from #MasterChild where masterid=150021032000000173571072 and childid=150021032000000173946207
  union all
  select #MasterChild.masterid,#MasterChild.childid from #MasterChild inner join GetAllMerges
  on  
  #MasterChild.childid=GetAllMerges.masterid 
  or (#MasterChild.childid=GetAllMerges.childid and #MasterChild.masterid&lt;&gt;GetAllMerges.masterid)  
  ) 
  select distinct masterid,childid from GetAllMerges
  </code></pre>
  
  <p>I am seeing the following error:</p>
  
  <pre><code>Msg 530, Level 16, State 1, Line 1
  The statement terminated. The maximum recursion 100 has been exhausted before statement completion.
  </code></pre>
  
  <p>Why is this? I am trying to show all the childs and masters that are linked.  For example, if master 1 is linked to child 2 and child 2 is linked to master 3 and master 3 is linked to child 4 and child 4 is linked to master 5, then persons 1-5 are linked (all childs and masters are persons). </p>