(ネストされたループ/クエリには多数のアプローチがあります。構造変更のアイデアは、各カテゴリのすべての子を一覧表示する個別のテーブルを作成することです。また、直接の子だけでなく、サブも含まれるようにします。 -子供とサブサブ子供...1は子供2、2は子供3、1は子供3、3は子供5、1は子供5などです。)しかし、現在の状況では..
1つのループ構造は次のようになります:
結果セットを開始します。 ||親=0のすべてのカテゴリIDをクエリします。||それぞれを配列(X)に追加します。 ||結果セットを閉じます。
配列(X)のIDごとに:
- 新しいカウント変数(z)を確立します。
-
新しい子ID配列(Y)を確立します。
-
結果セットを開始します。 ||クエリカウント*カテゴリ=現在のIDxのすべてのアイテム||カウント変数(z)に追加||結果セットを閉じる。
-
結果セットを開始します。 ||すべてのカテゴリIDをクエリします。ここで、親=現在のID x ||すべてを子ID配列(Y)に追加します。 ||結果セットを閉じます。
-
子配列(Y)の長さ> 0
-
カテゴリIDy=配列の最初のアイテム(Y)
-
結果セットを開始します。 ||親=現在のIDyであるすべてのカテゴリIDを照会します。 ||すべてを子ID配列(Y)に追加します。 ||結果セットを閉じます。
-
結果セットを開始します。 ||クエリカウント*カテゴリ=現在のIDyのすべてのアイテム||カウント変数(z)に追加||結果セットを閉じる。
-
配列から最初のアイテムを削除します(Y)
-
-
whileループを続ける
-
この時点で、カテゴリID xの最終的なアイテム数(z)が得られます...それを使って何かをしてから、forループを続行します
forループの終了