【发布时间】:2013-02-25 23:32:34
【问题描述】:
我在尝试实现的咨询时遇到问题:
SELECT [columns] FROM table1 LEFT/RIGHT JOIN table2 ON table1.id_user = table2.id [WHERE clause] GROUP BY column
我希望这个咨询做的一个例子如下所示:
在 table1 中有这些记录:
标识 | id_user |用户 ||价值
1 | 1 |名称1 | 10
2 | 1 |名称1 | 10
3 | 1 |名称1 | 11
4 | 1 |名称1 | 10
5 | 2 |名称2 | 11
6 | 2 |名称2 | 11
表 2 中的这些:
标识 |用户
1 |名字1
2 |名字2
我想获取给定值的每个用户存在多少条记录,例如,如果我们查找值 10 我想获取:
名称1 | 3
名称2 | 0
我已经尝试使用 LEFT 和 RIGHT JOIN 但没有用,我只是得到了这个,因为这是我猜想的唯一匹配 WHERE 子句的记录:
名称1 | 3
而不是 name2 的结果。
在将我的问题带到这里之前,我一直在寻找解决方案,但没有成功,希望有人可以帮助我解决这个问题:)
抱歉英语不好。 非常感谢您提供的任何帮助
【问题讨论】:
-
表1中的id_user值与表2中的id列不匹配。为什么name2的id_user是1而不是2?
-
对不起,这是我的错,刚刚修好了