CONCAT()结果包含CONCAT()

时间:2014-07-16 07:04:17

标签: mysql concatenation

数据库设置:

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然后显示。

问题是:我怎么能将这个查询连接到一个字段,所以我只有一个大的查询,或者我应该用php处理它并在页面上有100个查询? / p>

1 个答案:

答案 0 :(得分:0)

我不知道我是否帮助你,但这可能是一个解决方案:

SELECT CONCAT_WS(',', GROUP_CONCAT( DISTINCT Tags.Name)) 
FROM `ProductTags` 
LEFT JOIN Tags ON ProductTags.TagID = Tags.TagID

这将显示所有productTags的所有标签。 ( DISTINCT 使名称唯一)