我有一个名为 的表phone
,其中有一列称为names
,另一列称为number
。我有第二个表叫做address
,它有一个叫做 1 列family
,另一个叫做address
。family
并names
具有相同的值,但family
有一些重复。我想将这些加入到一个表中,该表具有family
andnames
作为 1 列,然后是phone
andaddress
作为另一列。但是,由于大小不匹配(地址多于电话号码),我不确定这是否可能。
谢谢!
假设“要让地址列保持不变,并且只是为每个匹配的家庭重复数字”,如评论之一:
select
A.family, A.address, P.number
from
address A
left join phone P on A.family = P.Name
order by
A.family, A.address, P.number
FTR,如果是我,我可能会对此更感兴趣:
select
A.family,
group_concat(distinct A.address separator '\n') Address,
group_concat(distinct P.number separator ',') Phone
from
address A
left join phone P on A.family = P.Name
group by family
order by
A.family, A.address desc, P.number
这是你所期待的吗?
Table 1
Name number
Bob 1234
Tom 3456
Table 2
family address
Bob MD
Bob NJ
Bob NY
Tom NC
Result
Name Number Address
Bob 1234 MD/NJ/NY