【发布时间】:2014-07-16 07:04:16
【问题描述】:
数据库设置:
http://sqlfiddle.com/#!2/4d1c2/1
以下查询选择属于productID的所有标签及其位置,逗号分隔:
SELECT CONCAT_WS(',', GROUP_CONCAT(Tags.Name))
FROM `ProductTags`
LEFT JOIN Tags ON ProductTags.TagID = Tags.TagID
WHERE `ProductID` = 46356
GROUP BY DisplayOrder
它可以包含 1-3 行。
更复杂的查询显示类别,充满(如 50-100)产品。 我希望所有标签一次可用,将它们传递给 juery 然后显示。
问题是:我如何将这个查询 concat() 到一个字段中,所以我只有一个大查询,或者我应该用 php 处理它并在页面上有大约 100 个查询?
【问题讨论】:
-
考虑提供一些样本数据和预期结果。
-
@AbhikChakraborty 不知道这是否有帮助,但这里唯一的问题是“concat() 的 concat() 结果如何”。我需要这个结果表在其他查询中使用它,所以我希望它像“标签,标签,标签,标签;标签,标签;标签,标签”
-
@AbhikChakraborty sqlfiddle.com/#!2/4d1c2/1
-
对于示例数据,请参见上面的链接,预期结果 - 结果集中的所有三行都在一个字符串中。
标签: mysql concatenation