数据库设置:
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>
答案 0 :(得分:0)
我不知道我是否帮助你,但这可能是一个解决方案:
SELECT CONCAT_WS(',', GROUP_CONCAT( DISTINCT Tags.Name))
FROM `ProductTags`
LEFT JOIN Tags ON ProductTags.TagID = Tags.TagID
这将显示所有productTags的所有标签。 ( DISTINCT 使名称唯一)