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

PostgreSQL多对多关系查询:如何获取关联数据并追加宠物主名字字段

修改后的查询语句

你仅需要在原有查询的基础上,额外关联pet_owner表取出对应主人的first_name字段即可,完整语句如下:

SELECT
  pet.id AS id,
  pet.first_name AS pet_first_name,
  pet.last_name AS pet_last_name,
  pet_owner.first_name AS owner_first_name
FROM
  pet_petowner owner_pet
  JOIN pet ON owner_pet.pet_id = pet.id
  JOIN pet_owner ON owner_pet.owner_id = pet_owner.id
WHERE
  owner_pet.owner_id = 3;

注:上述语句对宠物和主人的名字字段加了区分度更高的别名,避免返回结果出现同名字段混淆,你可以根据实际需求调整别名规则。

额外补充:查询指定宠物对应的所有主人语句

你提到的第二类查询需求可以参考如下语句实现,将WHERE条件里的宠物ID替换为你要查询的目标ID即可:

SELECT
  pet_owner.id AS owner_id,
  pet_owner.first_name AS owner_first_name,
  pet_owner.last_name AS owner_last_name,
  pet.first_name AS pet_first_name
FROM
  pet_petowner owner_pet
  JOIN pet_owner ON owner_pet.owner_id = pet_owner.id
  JOIN pet ON owner_pet.pet_id = pet.id
WHERE
  owner_pet.pet_id = 目标宠物ID;

内容的提问来源于stack exchange,提问作者The silent one

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:15:10