所以我有一个查询,应该从一个表中获取所有帖子,同时链接帖子类别和创建帖子的用户。我所得到的只是一篇文章,并非所有文章。架构如下:查询显示所有的博客文章,而在类别链接
Posts
=====
id
Categories
==========
id
Post categories
===============
postID
categoryID
这里是我到目前为止的SQL代码,有点深,但它将所有类别连接成一个字段。
SELECT
blgpostcategories.*,
blgcategories.id,
GROUP_CONCAT(blgcategories.name) AS categories,
blgposts.*,
users.firstName,
users.id AS usersId,
users.lastName,
users.email
FROM blgposts
RIGHT OUTER JOIN blgpostcategories
ON blgposts.id = blgpostcategories.postID
RIGHT OUTER JOIN blgcategories
ON blgpostcategories.categoryID = blgcategories.id
INNER JOIN users
ON blgposts.userID = users.id
从JNK
更新的查询 - 年仅返回单列:-(
SELECT
blgpostcategories.*,
blgcategories.id,
GROUP_CONCAT(blgcategories.name) AS categories,
blgposts.*
FROM blgposts
LEFT OUTER JOIN blgpostcategories
ON blgposts.id = blgpostcategories.postID
LEFT OUTER JOIN blgcategories
ON blgpostcategories.categoryID = blgcategories.id
不知道,我认为这是接近它的方式。我应该尝试内部连接吗?我绝对有积极的用户人口。 – 2011-04-18 18:50:33
我加了一个答案。我想你想要一个'LEFT JOIN'。 – JNK 2011-04-18 18:51:46