SQL一对多,子表关联查询
两张表:主表A(合作伙伴),从表B(维修方式)
表关系:A:B-----1:N
表A:
只有2条合作伙伴记录
表B:
主从表关联字段:partner_id
目前从表B中有两条合作伙伴,共对应5条维修方式。
检索要求:查出支持 【到店、邮寄、上门】的合作伙伴。
SQL写法,可以是:
SELECT * FROM A
where exists (select 1 from B where A.partner_id=B.partner_id and B.service_method='到店')
and exists (select 1 from B where A.partner_id=B.partner_id and B.service_method='邮寄')
and exists (select 1 from B where A.partner_id=B.partner_id and B.service_method='上门')
检索结果:仅出来一条 partner_id为A20181203120246889b15e990d72464a的合作伙伴。