加入我有这样的查询如何选择,其中左在MySQL
SELECT tb_post.*,
(SELECT GROUP_CONCAT(DISTINCT tb_category.category_name)
FROM tb_category
LEFT JOIN tb_terms ON tb_terms.parent_1 = tb_category.category_id
WHERE tb_terms.post_id = `tb_post`.post_id and category_type="post"
GROUP BY tb_terms.post_id) AS parent1
FROM (`tb_post`)
但这其中不运行。这总是返回表中的所有行..我想添加在哪里为什么?
我不想改变形状查询和我我需要tb_post所有的数据,但其中tb_category.category_type = $值,不更改查询
无关的你的主要问题,但你的子查询使用LEFT OUTER JOIN,而且还检查WHERE子句中左连接表中列的值。至于任何非匹配列将有一个NULL值,它不可能匹配tb_post.post_id(它看起来像一个唯一的ID)。因此,它将它呈现为有效的INNER JOIN。 – Kickstart 2014-10-17 10:38:04