sql 做连接查询,表1一条数据必须对应表2多行数据,需要互相匹配,匹配不上为空
sql
union,left join
例如:
表1:
poi_id 销售额
111 200
222 400
888 200
表2:
poi_id 原因 数量
111 原因1 5
111 原因2 8
222 原因3 7
222 原因1 4
333 原因1 7
想要的结果:
poi_id 原因 数量 销售额
111 原因1 5 200
111 原因2 8 200
222 原因3 7 400
222 原因1 4 400
333 原因1 7 0
888 null null 200
表1 right join 表2就可以了,表2作为主表
select 表1.poi_id , 表2.原因 , 表2.数量 ,表1.销售额 from 表1 right join 表2 on 表1.poi_id = 表2.poi_id
使用左连接查询sql
select 表1.poi_id , 表2.原因 , 表2.数量 ,表1.销售额 from 表1 left join 表2 on 表1.poi_id = 表2.poi_id
select 表1.poi_id , 表2.原因 , 表2.数量 ,表1.销售额 from 表1 right join 表2 on 表1.poi_id = 表2.poi_id
--或者
select 表1.poi_id , 表2.原因 , 表2.数量 ,表1.销售额 from 表2 left join 表1 on 表1.poi_id = 表2.poi_id
full join,然后相互补充