SQL SELECT和GROUP

时间:2014-01-06 19:56:34

标签: mysql sql

这是我的问题:

SELECT *
FROM posts
JOIN tags
 ON tags.did = posts.did
JOIN users
 ON users.username = posts.username
GROUP by tags.did

现在,当我有did的两个标签时,结果只显示一个标签。我想让它显示我拥有的所有标签,就像这样

a post | tag 1, tag 2

但是现在,它正在显示它

a post | tag 1

我不知道为什么它不会显示其他标签。我希望这是足够的相关信息。 (原谅我,我现在有点像SQL初学者)

2 个答案:

答案 0 :(得分:0)

伪代码

SELECT post.Text, Coalesce('',select tag +',' from tags where tags.did=posts.did)
FROM posts

或我们Group_concat group concat

SELECT GROUP_CONCAT(Language) As Languages FROM CountryLanguage WHERE CountryCode = 'THA'

我没有要测试的mysql,但你需要这样的东西。My Sql Coalsce

答案 1 :(得分:0)

尝试(必不可少的部分,未经测试)

SELECT p.postid, GROUP_CONCAT(t.tags)
FROM posts p
INNER JOIN tags t ON t.did = p.did
INNER JOIN users u ON u.username = p.username
GROUP by t.did