作業中のテーブルから始めます (注: このテーブルは変更できません)。
ID LN_0 LN_1 LN_2 isParent
4508 14883 14884 0 Y
7164 14128 0 0 Y
7169 9021 0 0 Y
9021 4508 0 0 N
14128 14137 14169 0 Y
14137 0 0 0 N
14169 0 0 0 N
14883 0 0 0 N
14884 0 0 0 N
LN_0-2 列には、他の行の ID 番号が含まれています。私ができるようにしたいのは、2 つの列を持つ crosswalk テーブルを作成することです。これには、親 ID (isParent=Y の場合の ID) と親 ID がその行で参照する ID のすべての一意の組み合わせが含まれます。これが難しい部分です。参照の参照の潜在的な参照のすべてなど。
上記のデータの結果は次のようになります。
ParentID References
4508 4058
4508 14883
4508 14884
7164 7164
7164 14128
7164 14137
7164 14169
7169 9021
7169 4508
7169 14883
7169 14884
14128 14128
14128 14137
14128 14169
HeidiSQL を使用して MariaDB に接続しています。