You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL自关联外键表如何查询玩家及对应追捕目标信息

解法

你需要用自连接实现这个需求,把player表分别取两个别名,一个代表玩家自身,另一个代表被追捕的目标,通过id_hunt和id的关联关系匹配即可。

可直接运行的查询语句:

SELECT 
    p.id AS 玩家id,
    p.name AS 玩家姓名,
    h.id AS 追捕目标id,
    h.name AS 追捕目标姓名
FROM player p
INNER JOIN player h ON p.id_hunt = h.id;

说明:

  • 这里给player表取了两个别名:p代表发起追捕的玩家本身,h代表被追捕的目标玩家
  • 用INNER JOIN关联的条件是玩家的id_hunt等于目标玩家的id,刚好匹配你表中设置的外键关联规则
  • 字段别名可以根据你自己的需求调整,如果需要返回邮箱等其他字段也可以自行加在SELECT列表里
  • 你表中设置了id_hunt非空且有外键约束,INNER JOIN就可以覆盖所有正常数据,如果需要兼容极端的关联失效场景,可以把INNER JOIN换成LEFT JOIN。

内容的提问来源于stack exchange,提问作者pedroale 99

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:09:02