お世話になります。どうかご教授頂けませんでしょうか。
サイト作成で、商品に関するコメント一覧ページを作成しております。その一覧で、ある商品のコメントに対する返信、つまりコメントに対するコメント(子コメント)を以下の様にコメントA(親コメント)の下に延々と表示できるようにしたいのですが、現在の状況はその下の様な状況になっており、同じコメントAが重複されます。

・期待する表示

コメントA
   コメントAに対するコメントa1
       コメントAに対するコメントa2
       コメントAに対するコメントa3
       コメントAに対するコメントa4

コメントB
       ………………………………………
       ……………………………………….
コメントC
       ………………………………………
       ……………………………………….

・ 現在の表示

コメントA
      コメントAに対するコメントa1
コメントA
      コメントAに対するコメントa2
コメントA
      コメントAに対するコメントa3
コメントA
      コメントAに対するコメントa4

コメントB
       ………………………………………
       ……………………………………….
コメントC
       ………………………………………
       ……………………………………….

以下は以上の設定の必要最小限を記載したDB、PHP、Smartyでの記述でございます。問題点は何かをご指摘いただけませんでしょうか。あるいはこのようなケースの場合、どのような設定にするのが最適かご教授頂けませんでしょうか。

//DB
親コメント用テーブル(dtb_review)     
review_id                              
product_id                              
reviewer_name                         
Comment                                                          
Create_date

子コメント用テーブル(dtb_review2)
review_id
original_review_id
reviewer_name
comment
Create_date

*dtb_reviewのreview_idとdtb_review2のoriginal_review_idは同じid(番号)です。

//PHP
$col = "t1.review_id, t1.comment, t1.del_flg, t1.create_date, t1.product_id, t1.reviewer_name, t2.product_id, t5.original_review_id, t5.comment2, t5.reviewer_name, t5.create_date";

$from = "dtb_review as t1 
left join dtb_products as t2 using (product_id)
left join dtb_review2 as t5 ON t1.review_id = t5.original_review_id";

$where = " t1.del_flg = 0 ORDER BY t1.create_date DESC";

$this->arrReview = $objQuery->select($col, $from, $where, $arrval); 

//Smarty

{section name=cnt loop=$arrReview}

{$arrReview[cnt].comment|h|nl2br}(親コメント)

{if $arrReview[cnt].review_id|h == $arrReview[cnt].original_review_id|h }

{section2 name=cnt loop=$arrReview}

{$arrReview[cnt].comment2|h|nl2br}(子コメント)

{/section2}

{else}
{/if}

{/section}

*あるコメントに対してコメントされると、つまり親コメントに対して子コメントが作成されるとdtb_reviewのreview_idがdtb_review2のoriginal_review_idに渡ります。