純粋にルビで再帰呼び出しを最適化するために苦労しています。私はpostgresqlデータベースにデータを移動しました。私はWITH RECURSIVE
関数を利用してpostgresqlが提供したいと考えています。複数テーブルの再帰的なSQL文
すべての例では、メニューやカテゴリテーブルなどの単一のテーブルを使用しているようです。
私の状況は多少異なります。私は質問と答えのテーブルを持っています。
+----------------------+ +------------------+
| questions | | answers |
+----------------------+ +------------------+
| id | | source_id | <- from question ID
| start_node (boolean) | | target_id | <- to question ID
| end_node (boolean) | +------------------+
+----------------------+
私は、関連する回答によって一緒に接続されているすべての質問を取得したいと思います。
また、ツリー内の任意のノードからツリーのルートノードなど、別の方法でツリーに移動したいと考えています。 - 任意の
Q1
|-- A1
| '-- Q2
| |-- A2
| | '-- Q3
| '-- A3
| '-- Q4
'-- A4
'-- Q5
あなたが見ることができるように、質問が複数の発信疑問を持つことができますが、彼らはまた、複数の着信答えを持っていることができますグラフィカルな方法で質問・回答ツリーの別の例を与えることを
〜多人数。
誰かが良いアイデアを持っていることを願ったり、いくつかの例、記事、ガイドを教えてくれることを願っています。
皆さん、ありがとうございます。
よろしく、 エミール
これは再帰的ではありません。質問は、質問に対する答えですか? (メタ質問、これは...) – wildplasser
答えは質問に対する回答ですが、答えは別の質問などにつながります。だから鎖は無限に長くなる可能性があります。回答はチェーンの早期に渡された質問に戻る可能性があります。私はこれが質問に答えることを望みますか? –