作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要显示一个文章列表,其中包含每篇文章对应的全套标签。我试着做这个查询:
SELECT articles.article_id, `title`, `text`, tags.tag_name
FROM `articles`
LEFT JOIN `tags`
on articles.article_id = tags.article_id
WHERE articles.author_id = 150342
但是,该查询为每个标签返回表 articles
中的同一行,次数与标签的数量一样多。
像这样:
Array
(
[0] => Array
(
[article_id] => 1
[title] => title1
[text] => text1
[tag_name] => tag1
)
[1] => Array
(
[article_id] => 1
[title] => title1
[text] => text1
[tag_name] => tag2
)
[2] => Array
(
[article_id] => 1
[title] => title1
[text] => text1
[tag_name] => tag3
)
)
有没有办法在数组中为每篇文章返回 tag_name?看起来像这样:
Array
(
[0] => Array
(
[article_id] => 1
[title] => title1
[text] => text1
[tag_name] => array ([0] => tag1, [1] => tag2, [2] => tag3)
)
)
最佳答案
不是数组,但你可以得到逗号分隔的字符串,
SELECT articles.article_id, `title`, `text`, GROUP_CONCAT(tags.tag_name )as tg_name
FROM `articles`
LEFT JOIN `tags`
on articles.article_id = tags.article_id
WHERE articles.author_id = 150342
GROUP BY tags.article_id
关于php - 加入查询 : How to return results from join table2 as an array in the table1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22145241/
我是一名优秀的程序员,十分优秀!