mysql加入组循环混乱

时间:2012-09-23 18:00:54

标签: php mysql

没有经验的mysql用户:)

我有2张桌子

其中包含用户创建的事件列表。它还有对事件的描述。

另一张表保存事件的日期。它还具有该活动的唯一ID。一个事件可以有多个与之关联的日期。

我的问题:

我希望返回包含事件和描述的列表。现在我为每个循环使用a。

示例:

[loop]
    $list .= '<tr><td>$date</td><td>$description</td><tr>';
[/loop]

return $list;

现在我需要显示与一个事件具有相同日期的事件,但需要结合描述

示例:

$list .= '
    <tr>
        <td>two-events-with-same-dates-here-but-shown-as-one</td>
        <td>$description 1<br />$description 2</td>
    </tr>
    ';
return $list;

所以我的想法是按日期分组并使用新查询为每个组运行循环,并将描述合并到一个描述中。

在循环中运行新查询听起来错误且对我来说效率低下我认为mysql有一些智能内置函数用于这样的事情。

想法?

1 个答案:

答案 0 :(得分:1)

如何按日期对结果进行排序,然后添加&lt; br /&gt;在PHP中,直到日期发生变化?

另一个解决方案是使用group_concat。例如:

select date, group_concat(description SEPARATOR '<br/>')
from events
group by date

这将导致

'2012-01-01' | 'description1<br/> description2'