when
select x, case x when 'xx' then 'xx' when 'xxx' then 'xxx' end from x
左外连接
select a.x,b.xx ,
GROUP_CONCAT(
DISTINCT b.xxx','
)
from x a left join b on a.id=b.id where a.id=1 group by ax .x,b.x
UNION ALL
GROUP_CONCAT(
DISTINCT b.xxx','
)
from x a left join b on a.id=b.id where a.id=1 group by ax .x,b.x
group by分组列值相同分为一组,这里a.x,b.xx 两个字段,如果都相同会分为一组
GROUP_CONCAT(
DISTINCT b.xxx','
) 相同值逗号分隔
UNION ALL 结果取并集 ,列数量一样,字段类型相似
UNION 去重取并集