SQLite - 我使用什么设置来使用单独的链接关联一个表上的条目

时间:2017-01-07 16:48:15

标签: sql sqlite

我是SQL的新手,虽然有点熟悉多对多和一对多的基本概念等等,但我无法弄清楚哪种配置最适合这种设置:基本上我有一张人的桌子,还有一张单独的桌子,可以将每个人与其他几个人联系起来。我希望能够在主表上选择一个人/条目,并自动显示他们链接到的所有人。这两个表看起来像这样:

"type or namespace name could not be found"

我不是在寻找拼写错误的查询或类似的东西。关于我应该学习什么样的设置以便设置它的一些建议。我知道这是一个非常基本的概念,但是尽管我已经做过研究,我仍然觉得这个[sql]非常混乱,这就是我要问的原因。

1 个答案:

答案 0 :(得分:0)

select 'John'

union all

select  p2.person_name

from            Person as p1

        join    (      select PersonA,PersonB from Links
                 union select PersonB,PersonA from Links
                ) as l
        on      p1.person_id = l.PersonA

        join    Person as p2
        on      p2.person_id = l.PersonB 

where   p.person_name = 'John'
(      select PersonA,PersonB from Links
 union select PersonB,PersonA from Links
) as l

可能会更改为

(          select PersonA,PersonB from Links
 union all select PersonB,PersonA from Links
) as l

Links as l

取决于您的数据