無限の量のサブグループを持つことができるアプリのグループ間の関係を純粋に保持するテーブルがあります。MySQLで一番上の再帰を再帰的に選択
CREATE TABLE `shop_groups_group_rel` (
`id_group` int(11) NOT NULL,
`id_parent` int(11) NOT NULL,
`type` enum('shop','group') NOT NULL
);
「ショップ」のタイプは、基本的に一番上を意味します。
私が解析している可能性のあるグループに対して、一番上のグループを得ることができるようにする必要があります。私はMySQLのLOOP構文を見てきましたが、これをデータベース上の実際のクエリと混在させる方法。
私が一番上のグループになるまで、どのようにして再帰的に親グループを選択できるかについてのヒントは誰にでも伝えられますか?
これは、無限の量のサブグループが存在する可能性があるので危険であるかもしれませんが、実際には2〜3つのサブグループ以上になることはありません。
ありがとうございました
ありがとうございました。実際に私ができることは、それを考慮していませんでした。私はまだループでこれを行うことが可能かどうかを知りたいです。しかし今のところあなたのソリューションはトリックを行い、決して3/4を超えるサブグループは存在しません。 – Naatan
MySQLでは、(PostgreSQLやFirebirdとは異なり)再帰的クエリをサポートしていないので、ストアドプロシージャ内でのみ "ループ"を実行できます。 –