아내/남편과 자녀를 연결하는 표가 원본 데이터베이스에 있습니다 (있는 경우).가족 관계 테이블에 패밀리 ID 열을 추가하십시오.
자녀와의 관계는 아내 또는 남편을 통과 할 수 있지만 성인과 어린이 사이에는 관계가 있으며 남편과 아내는 단 한 가지 관계 만 있습니다. 자녀/자녀에게 배우자와 관계가있는 사람은 반드시 동일한 성인이 아닙니다.
각 사람과 가족의 고유 ID가있는 출력을 만들고 싶습니다. 하지만 결과를 얻는 방법에 대해 머리를 감싸는 것처럼 보이지 않습니다.
아래 소스 데이터 샘플입니다. 이 샘플 데이터에서
+--------+------+
| FromID | ToID |
+--------+------+
| 1 | 2 |
| 2 | 3 |
| 2 | 4 |
| 5 | 6 |
| 6 | 7 |
| 8 | 9 |
+--------+------+
CREATE TABLE [dbo].[Relations](
[FromID] [int] NULL,
[ToID] [int] NULL
)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (1, 2)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (2, 3)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (2, 4)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (5, 6)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (6, 7)
INSERT [dbo].[Relations] ([FromID], [ToID]) VALUES (8, 9)
:
- 사람 1 사람이 결혼하고 사람이 2 명 (3,4) (4 세대)
- 사람 (5)이 사람에게 결혼이 (6)과 사람 (6) 아이가 1 명 (7) (3 세대)
- 사람 8 사람 9 결혼을 가지고는 (2 가족)
그리고 난 다음은 자녀가없는 원하는 결과 :
+----------+----------+
| PersonID | FamilyID |
+----------+----------+
| 1 | 1 |
| 2 | 1 |
| 3 | 1 |
| 4 | 1 |
| 5 | 2 |
| 6 | 2 |
| 7 | 2 |
| 8 | 3 |
| 9 | 3 |
+----------+----------+
Y 우리의 샘플 데이터는 많은 의미를 갖습니다. 존재하지 않는 ToID 값이 있습니다.아마 당신은 당신이 게시 해야하는지에 대한 좋은 아이디어를 위해이 기사를 살펴볼 필요가 있습니다. http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/ –
테이블 및 데이터를 텍스트로 게시 [이 기사 읽기] (http : /meta.stackoverflow.com/questions/285551/why-may-i-not-upload-images-of-code-on-so-wing-asking-a-question/285557#285557) –
테이블이 있습니까' 사람? 재귀 쿼리를 사용해 보셨습니까? –