我有两个包含以下示例数据的表:
table 1: `item_name`| item_ID | item_desc || 1 | apple || 2 | orange || 3 | banana || 4 | grape || 5 | mango |table 2: `user_items`| user_ID | item_ID || 127 | 1 || 127 | 2 || 127 | 4 || 128 | 1 || 128 | 5 |
我正在尝试使用以下查询选择user_ID 127和128中的每个item_ID以及相应的item_desc:
SELECT IFNulL(COUNT(ui.user_ID),0) AS total,in.item_desc FROM user_items AS ui RIGHT OUTER JOIN item_name AS in ON ui.item_ID = in.item_ID WHERE ui.user_ID IN (127,128) GROUP BY ui.item_IDORDER BY total DESC
上述查询的结果是:
| total | item_desc || 2 | apple || 1 | orange || 1 | grape || 1 | mango |
但是它没有包含item_ID 3,banana,我想用RIGHT OUTER JOIN检索它.我希望得到一个看起来像这样的结果:
| total | item_desc || 2 | apple || 1 | orange || 1 | grape || 1 | mango || 0 | banana |
有没有办法修改查询以最终得到上面的预期结果?
感谢您的时间.@H_419_36@最佳答案您的查询使用count时出现了一点错误.这有效.
select count(ui.item_ID) as total,in.item_descfrom item_name `in` left join user_items ui on ui.item_ID = in.item_ID and ui.user_ID in (127,128)group by in.item_descorder by total desc
总结 以上是内存溢出为你收集整理的mysql – 如何在具有外部联接和分组依据的查询中包含NULL值全部内容,希望文章能够帮你解决mysql – 如何在具有外部联接和分组依据的查询中包含NULL值所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)