我有以下查询:
目前我收到以下代码:
它只返回一个标签而不是数据库中的三个标签。
数据库如下所示:
在这个数据库中有3个标签,bm_tagslang ='de',但我只得到一个。
有人知道我做错了吗?
答案 0 :(得分:1)
将tagslang.lang
移至on
条件。如果没有匹配项,则为NULL
,因此会将left join
更改为inner join
:
on blog.id = tagslang.blogid and tagslang.lang = ?
您还需要更改group by
。它应该是:
group by blog.id
否则,您可能会按NULL
值进行分组。
注意:请勿使用group by
中不在SELECT
中的列。这是一个MySQL(mis)功能,除非你真正理解你在做什么,否则不应该使用它。