我有一个linked_persons
MySQL表,其中包含2列:ID和LID。两列都引用PersonID(来自不同的表)。这个linked_persons
背后的想法是展示两个人之间的关系。
这个linked_persons
表是由其他人设置的,我无法对其进行修改。但是,以下是我对此表的了解:
我在http://sqlfiddle.com/#!9/cb6bf4建立了一个SQL小提琴,它有一些关于如何制作条目的示例数据。
我正在尝试在这个linked_persons
表格之上构建一个视图,该视图将与#34;互连"所有相关人员。即如果我搜索" family"中的任何成员,我需要能够获得此linked_persons的所有成员的ID。我需要能够在ID列或LID列中搜索成员的ID。
因此,基于SQL Fiddle,我试图生成以下结果:
ID | LID
--------
1 | 1
1 | 2
1 | 3
1 | 4
1 | 5
2 | 1
2 | 2
2 | 3
2 | 4
2 | 5
3 | 1
3 | 2
3 | 3
3 | 4
3 | 5
4 | 1
4 | 2
4 | 3
4 | 4
4 | 5
5 | 1
5 | 2
5 | 3
5 | 4
5 | 5
6 | 6
我的第一个想法是使用类似以下的查询,但由于ID 4和3彼此之间没有直接链接,因此无法正常工作。
SELECT ID, LID FROM linked_persons
UNION
SELECT LID AS ID, ID AS LID FROM linked_persons