【发布时间】:2013-01-05 13:20:23
【问题描述】:
我在 SQLite 中有一个表(联系人)和一个表(连接),它们非常不言自明:
contacts 表包含 id、firstname、secondname 等信息。 连接表在一列中保存联系人的 id,在另一列中保存与之连接的联系人的 id。
contacts
id | firstname | secondname
1 | test | test
2 | asdf | asdf
3 | qwer | qwer
connection
id | contact_id | connection_to_id
1 | 1 | 2
2 | 1 | 3
如何进行查询以获取与一位联系人相关联的姓名? 我试过了,但它只给了我一个名字,即使有更多的连接:
SELECT
c.firstname, c.secondname
FROM contacts c
WHERE
c.id =
(SELECT
scon.connection_to_id
FROM connection scon
WHERE
scon.contact_id = 1)
我只得到:
adsf asdf
但我想要:
adsf asdf
qwer qwer
我希望你能理解我的问题并帮助我解决这个问题:)
【问题讨论】:
-
这是 SQLite 还是 MySQL?子查询应该返回多行,所以你应该使用
WHERE c.id IN (SELECT....)