SQLite如何根据PartnerID从同一张客户表获取关联伙伴数据
如何查询客户及其伙伴的记录?
针对你的需求,有两种简单的实现方式:
方式一:使用子查询
先获取John Doe的PartnerID,再用这个ID查询对应的伙伴记录:
SELECT ClientName, PartnerID FROM Clients WHERE ClientID = ( SELECT PartnerID FROM Clients WHERE ClientName = 'John Doe' )
这个语句会直接返回Jane Doe的记录。
方式二:使用自连接
将同一张表视为两个独立的表进行关联,既能单独查询伙伴,也能同时展示客户和伙伴的信息:
仅查询伙伴记录
SELECT c2.ClientName, c2.PartnerID FROM Clients c1 JOIN Clients c2 ON c1.PartnerID = c2.ClientID WHERE c1.ClientName = 'John Doe'
同时展示客户和伙伴的信息
SELECT c1.ClientName AS 客户名称, c2.ClientName AS 伙伴名称 FROM Clients c1 JOIN Clients c2 ON c1.PartnerID = c2.ClientID WHERE c1.ClientName = 'John Doe'
这种方式的优势是如果后续需要扩展展示更多关联信息,调整起来更灵活。
内容的提问来源于stack exchange,提问作者incorrectdisposal
相关产品推荐
相关产品推荐

