1

だから私は、カテゴリ、サブカテゴリ、サブサブカテゴリ、サブサブサブカテゴリを持つデータベースを作成しています.

ということでテーブルを作りました。カテゴリ名|親ID|ID|予算|

私の状況を説明するために、各カテゴリに予算があると仮定します。カテゴリとそのサブカテゴリ、およびそのサブカテゴリの合計予算を取得できる Select ステートメントを作成するにはどうすればよいですか。これは、サブカテゴリに入ると、そのサブカテゴリの合計予算も表示できる必要があることを意味します。

どんなアドバイスでも私を大いに助けます!

みんなありがとう!

編集: 言い忘れましたが、データベースは MySQL です。PHPを使用してWebページにデータを表示します。

4

2 に答える 2

0

検索に難しいモデル (Adjacency List Model) を使用しています。入れ子集合モデルを組み込むことを考えたことはありますか? このトピックに関する良い記事は次のとおりです。

http://mikehillyer.com/articles/managing-hierarchical-data-in-mysql/

あなたの質問に関しては、再帰関数が最善の策です。サブタイプの潜在的な宇宙を知らない限り、SQL だけでこれを行うことはできないと思います。その場合、次のようにテーブルを複数回結合できます。

SELECT t.CatName, SUM(t.Budget+t2.Budget+t3.Budget...)
FROM YourTable t
    LEFT JOIN YourTable t2 ON t2.parentid = t1.id
    LEFT JOIN YourTable t3 ON t3.parentid = t2.id
    LEFT JOIN YourTable t4 ON t4.parentid = t3.id
    ...

幸運を。

于 2013-01-26T05:45:34.277 に答える
0

次のリンクがあなたを正しい道に導くことを願っています..

http://explainextended.com/2009/03/17/hierarchical-queries-in-mysql/

http://forums.databasejournal.com/showthread.php?30908-Recursive-MYSQL-Query

于 2013-01-26T05:45:48.190 に答える