전 순수하게 루비에서 수행되는 재귀 호출을 최적화하기 위해 고심하고 있습니다. 나는 데이터를 postgresql 데이터베이스로 옮겼고, postgresql이 제공하는 WITH RECURSIVE
함수를 사용하고 싶습니다.다중 테이블 재귀 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
대답은 질문에 대한 대답이지만 대답은 다른 질문으로 이어집니다. 그래서 사슬은 무한히 길 수 있습니다. 대답은 체인의 초기 단계에서 통과 한 질문으로 되돌아 갈 수 있습니다. 이 질문에 대한 답변을 희망하십니까? –