使用一个选择查询选择 2 个表


Select 2 tables with one select query

我的数据库上有 2 个表。一个表有类别,另一个表有帖子。在类别表中,我有一个名为"活动"的列。

我想做的是选择所有类别= 0的帖子。

这是我到目前为止得到的选择:

SELECT tb_posts.*, tb_categories.active 
FROM tb_posts, tb_categories 
WHERE tb_categories.active='0' 
ORDER BY datapub DESC

上述查询不起作用,因为它加载所有帖子,无论类别状态如何。 :(

你需要一个left join

SELECT tp.*, tc.active 
FROM tb_posts tp
LEFT JOIN tb_categories tc ON tb.category_id = tc.id
WHERE tc.active='0' 
ORDER BY datapub DESC

连接是在category列上完成的(替换为正确的列名称 - 这是我的猜测),该列(可能)引用了tb_categories中的id(再次替换名称)。

有关确切查询,请显示您的表结构。