首页 > 解决方案 > Mysql多个左连接在同一张表上用于分组结果

问题描述

这个稳定存储了一些地址更改的历史

Id  Name    Address        Group Id
1   AAA      Primary          1
2   BBB      Secondary        1
3   CCC      Primary          1
4   DDD      Secondary        1
5   EEE      Primary          1
6   FFF      Primary          2
7   GGG      Secondary        2
8   HHH      Primary          3
9   III      Secondary        4
10  JJJ      Secondary        1

结果 我需要像下面这样的结果

Primary Address Secondary Address
AAA                  BBB
CCC                  DDD
EEE                  JJJ
FFF                  GGG
HHH                  NULL
NULL                 III

是否可以通过 mysql joins 实现此结果

标签: mysqlleft-join

解决方案


您可以尝试使用case when表达式

select case when address='Primary' then name end as PrimaryAddress,
case when address='Secondary' then name end as SecondaryAddress
from tablename

推荐阅读