原主从表为1对多关系A为主表,B为从表,查询语句如下:
SELECT
*
FROM
B b
LEFT JOIN A a
ON b.parent_id = a.id
由于业务调整,A与B转化为多对多关系
1. 建立A与B的关联关系表
CREATE TABLE a_b_relation(
a_id VARCHAR(40),
b_id VARCHAR(40)
)
2. 改造既存查询语句
SELECT
*
FROM
B b
LEFT JOIN a_b_relation ab
ON ab.b_id = b.id
LEFT JOIN A a
ON b.parent_id = a.id
OR ab.a_id = a.id
这样就可以将新的多对多关系结合到既存的查询里了