繁体   English   中英

MySql 查询从左表获取所有行,从右表获取公共行

[英]MySql query Get all rows from left table and common from right table

表 1 - customer_kitchen_service_plans和数据https://prnt.sc/00_ip7uWiQuq

表 2 - kitchen_service_plans_linking和数据https://prnt.sc/e_GW64THTCFK

以上两个是表,我想以这样的方式加入,它应该返回表 1 中的所有行和表 2 中的常见行

使用表 1 中的kitchen_service_plan_id列和表 2 中的kitchen_service_plan_parent_id列加入

当前查询如下

select * from `customer_kitchen_service_plans` as `cksp` 
left join `kitchen_service_plans_linking` as `kspl` on 
  `kspl`.`kitchen_service_plan_parent_id` = 
  `cksp`.`kitchen_service_plan_id` 
where `cksp`.`status` = 'ACTIVE' and `cksp`.`customer_id` = 2

看看有没有帮助

SELECT * FROM customer_kitchen_service_plans 
LEFT JOIN kitchen_service_plans_linking ON 
          customer_kitchen_service_plans.kitchen_service_plan_id= 
          kitchen_service_plans_linking.kitchen_service_plan_parent_id;

您需要一个左外连接,它返回第一个表中的所有行并从右侧返回匹配行。

select * from `customer_kitchen_service_plans` as cksp 
left outer join `kitchen_service_plans_linking` as kspl on 
  kspl.`kitchen_service_plan_parent_id` = 
  cksp.`kitchen_service_plan_id` 
where cksp.`status` = 'ACTIVE' and cksp.`customer_id` = 2

这是关于MySQL 中的左外连接的讨论

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM