【发布时间】:2016-04-20 08:31:12
【问题描述】:
我有三张桌子: 表“A”有许多事件,每个事件都有一个唯一的 ID。 表“B”的类别与表 A 的 id 匹配,但每个 id 可能有多个匹配项。 表“C”定义了与表“B”中的 id 匹配的类别名称。 如何获得显示具有多个类别的独特事件的输出,而不是每个类别重复的每个事件?
Table A Table B Table C
id | event | date | id | catid catid | cat
1 swim 1-2-16 1 11 11 slow
2 swim 1-2-16 1 12 12 med
3 run 1-3-16 1 13 13 fast
4 bike 1-5-16 2 11
5 run 1-30-16 3 12
3 13
4 12
5 11
我有这个Mysql语句:
SELECT A.*, B.*, C.*
FROM A, B, C
WHERE A.id = B.id and B.catid = C.catid and DATE(date) BETWEEN "1-2-16" and "1-5-16
ORDER BY event, cat
问题是这个语句的输出对每个类别重复事件。我希望输出列出适用于每个事件的所有类别作为输出行。例如,“在 1-2-16 慢速、中速、快速游泳”而不是“在 1-2-16 慢速游泳”“在 1-2-16 中速游泳”“在 1-2-16 快速游泳”。我怎样才能做到这一点?
【问题讨论】: