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

基于多表关联条件查询:获取捐赠相关人员及宠物类型信息

嘿,我明白你需要从这几张关联表里拉取已完成捐赠的记录,展示捐赠者、接收者的邮箱和地址,以及对应宠物的类型。我帮你整理了正确的查询语句,还有关键细节说明:

完整SQL查询语句
SELECT
    -- 捐赠者的邮箱和地址
    donor_member.mail_id AS donor_mail,
    donor_member.address AS donor_address,
    -- 接收者的邮箱和地址
    recipient_member.mail_id AS recipient_mail,
    recipient_member.address AS recipient_address,
    -- 捐赠宠物的类型
    pet_details.pet_type
FROM
    donation_status
-- 关联捐赠者表,绑定到已完成的捐赠记录
JOIN donor ON donation_status.donation_id = donor.donation_id
-- 关联接收者表,确保是同一条捐赠记录且对应同一只宠物
JOIN recipient ON donation_status.donation_id = recipient.donation_id 
    AND donor.pet_id = recipient.pet_id
-- 关联宠物详情表,获取宠物类型
JOIN pet_details ON donor.pet_id = pet_details.id
-- 关联会员表获取捐赠者信息
JOIN members AS donor_member ON donor.member_id = donor_member.id
-- 再次关联会员表获取接收者信息(用别名区分)
JOIN members AS recipient_member ON recipient.member_id = recipient_member.id
WHERE
    donation_status.status = 'yes';
关键细节解释
  • 因为要同时获取捐赠者和接收者的会员信息,我给members表加了两个别名(donor_member和recipient_member),这样就不会出现字段名称冲突的问题
  • 关联donor和recipient时,除了通过donation_id绑定到同一条捐赠记录,还额外加了donor.pet_id = recipient.pet_id的条件,确保两者对应的是同一只宠物,完全符合你的需求
  • 注意:如果你的表之间的关联字段不是donation_id(比如有的表可能用id作为关联键),请根据你实际的表结构替换成对应的字段名

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:36:19