在查询中添加换行符

时间:2014-11-21 19:08:41

标签: mysql

我有一个返回多个表的结果的查询

SELECT
  p.id,
  p.name,
  GROUP_CONCAT(tc.comment) AS comments
FROM
  people AS p LEFT JOIN comments AS tc
  ON tc.pID = p.id
WHERE
  p.projID = $project_id
GROUP BY
  p.id,
  p.name

当它返回注释时,它将它们全部放在一个列中,当我在页面上输出它们时,很难描述一个结束而另一个结束的开始。有没有办法在构建此查询时在每个注释后插入某种空行?通常情况下,当我输出结果时,我会在PHP中执行此操作,但在这种情况下,我不知道中断应该在哪里。

1 个答案:

答案 0 :(得分:3)

Simpy在你的tc.com之后添加一个分隔符:

SELECT
  p.id,
  p.name,
  GROUP_CONCAT(tc.comment, " | ") AS comments
FROM
  people AS p LEFT JOIN comments AS tc
  ON tc.pID = p.id
WHERE
  p.projID = $project_id
GROUP BY
  p.id,
  p.name

这会放一个|每个tc.comment之间但会留下逗号作为分隔符。使用

GROUP_CONCAT(tc.comment SEPARATOR " | ")

如果你想替换逗号而不是添加到元素。

您可以(或者更具体地说)为新行添加“\ n”或“< br />”如果你输出到网页。