1

这是我的难题,我有一个带有标识号列的客户表和一个带有“AssociatedTo”列的系泊表。“AssociatedTo”列有时没有编号,因为它尚未分配,但其他列会有一个编号,该编号将是客户的标识号。

我以前有一个系统可以做到这一点,但它无效..慢..而且看起来很可怕。我需要一些东西能够输出一个包含客户列表的表格,并作为其中一行的列,分配给客户行的系泊列表。如果你能指点我的路或举一个这段代码的例子,那就太好了!

4

1 回答 1

1

如果我了解您在与客户表关联的系泊表中有0 行或更多行。这将为每个客户行返回 1 行,并将所有与客户关联并以逗号分隔的m.col1值返回到列中。

select c.*, GROUP_CONCAT(m.col1 SEPARATOR ',') as multiple
from customer c left join mooring m on c.ID = m.AssociatedTo
where 1
group by c.ID

添加

有关所有选项,请参见:http ://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat。

获取结果您可以使用explode来获取值数组。

于 2012-07-01T11:15:21.483 回答