表关联查询,有三张表,一张主表t_unit,两张附表,主表里有三个id,分别是主键,和两个关联的外键(附图)

2024-11-15 23:39:53
推荐回答(2个)
回答(1):

select a.*,b.*,c.* from  A a 
left join B b on b.id=a.bid
left join C c on c.id=a.cid

A是主表 BC为子表

另外你的表有设计有问题,主表不应该有子表的主键值,应该是子表有主表的主键值

这样就能设计出新增主表,子表也会新增(使用触发器)

回答(2):

select user.*,unit.*,area.*
from t_sys_user user,t_unit unit,t_sys_area_info area
where user.unit_id =unit.id and unit.areaid = area.id and
user.id="特定的唯一ID" //单条查询哈

看你的表结构的话,似乎不需要同时操作3张表,如果非要操作的话,就在同一个事务service使用3个SQL去操作,或者使用存储过程去操作