Hi,<br><br>I'm doing a nested with three tables:<br><br>member: (has_many member_books mb)<br>member_id<br><br>member_books (belongs to member, book)<br>member_id<br>book_id <br>relation<br><br>book (has many member_books mb)
<br>book_id<br><br><br>My query I'm running is &quot;What (distinct) books does members who wants the book the current member has have?&quot;<br><br><br>The way I see it this should be correct:<br>MemberBooks-&gt;search(<br>
&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 'me.relation' =&gt; 'has', <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 'me.member_id' =&gt; $self-&gt;member_id<br>&nbsp;&nbsp;&nbsp; })-&gt;search_related('book')-&gt;search_related ('mb',<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; { <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'mb.relation' =&gt; 'wants', 
<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'mb.member_id' =&gt; {'!=', $self-&gt;member_id}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }<br>&nbsp;&nbsp;&nbsp; )-&gt;search_related ('member')-&gt;search_related('mb',<br>&nbsp;&nbsp;&nbsp; { <br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 'mb.relation' =&gt; 'has',<br>&nbsp;&nbsp;&nbsp; },<br>&nbsp;&nbsp;&nbsp; { group_by =&gt; ['
mb.book_id']}<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; );<br><br>But it results in:<br>SELECT mb_2.member_id, mb_2.book_id, mb_2.language, mb_2.shape, mb_2.relation FROM member_books me&nbsp; JOIN book book ON ( book.book_id = me.book_id ) LEFT JOIN member_books mb ON ( 
mb.book_id = book.book_id )&nbsp; JOIN member member ON ( member.member_id = mb.member_id ) LEFT JOIN member_books mb_2 ON ( mb_2.member_id = member.member_id ) WHERE ( ( ( mb.relation = ? ) AND ( ( ( mb.member_id != ? AND mb.relation
 = ? ) AND ( me.member_id = ? AND me.relation = ? ) ) ) ) ) GROUP BY mb.book_id LIMIT 10: `has', `1', `wants', `1', `has'<br><br>Instead i have to change the last part to be:<br>-&gt;search_related('mb',<br>
&nbsp;&nbsp;&nbsp; { <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 'mb_2.relation' =&gt; 'has',<br>
&nbsp;&nbsp;&nbsp; },<br>
&nbsp;&nbsp;&nbsp; { group_by =&gt; ['mb_2.book_id']}<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; );<br><br><br>So my question is, am I doing something wrong here which makes DBIC interpretate my query wrong, or am I supposed to keep track of the naming?<br>