mySQL 主表与⼦表⼀对多关系,leftjoin 关联查询⼦表中其中⼀
条记录
1、left join
测试⽰例
主表和⼦表通过LEFT JOIN 关联后,主表以重复的⽅式对应多条右表记录。
2、实现主表与⼦表⼀对⼀对应。
2.1 使⽤group by
,出右表⼀条记录与主表关联
2.2 使⽤group by 和 min 或max 聚合函数,出右表最新或最旧的⼀条记录与主表关联1
SELECT 2
a.id,3
b.id AS bId,6
b.charge_key,7
b.check_status 8
FROM 9 patient_check_list a 10 LEFT JOIN patient_check_item b ON b.business_id = a.id
1
SELECT 2
a.id,3
b.id AS bId,6
b.charge_key,7
b.check_status 8
FROM 9 patient_check_list a 10 LEFT JOIN ( SELECT id, business_id, charge_key, check_status FROM patient_check_item GROUP BY business_id ) b ON b.business_id = a.id
1SELECT
多表left join
2    a.id,
3    a.create_name,
4    a.create_time,
5    b.id AS bId,
6    b.charge_key,
7    b.check_status
8FROM
9 patient_check_list a
10 LEFT JOIN ( SELECT id, business_id, charge_key, check_status FROM patient_check_item WHERE id IN ( SELECT MAX( id ) FROM patient_check_item
2.3 使⽤group_concat
1SELECT
2    a.id,
3    a.create_name,
4    a.create_time,
5    b.id AS bId,
6    b.charge_key
7FROM

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。