【发布时间】:2011-04-18 18:44:21
【问题描述】:
所以我有一个查询应该从表中获取所有帖子,同时链接帖子类别和创建帖子的用户。我得到的只是返回一个帖子,而不是所有帖子。下面是架构:
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
【问题讨论】:
-
不确定,我认为这是处理它的方法。我应该尝试内部连接吗?我绝对是积极的用户。
-
我添加了一个答案。我想你想要一个
LEFT JOIN。
标签: php mysql sql database codeigniter