我有两张桌子:
Table1 name object Table2 name_old name_corr
------|-----| ---------|-----------
John | A | John | John
Ben | B | Ben | Ben
Jon | B | Jon | John
Be n | B | Be n | Ben
Peter | B | Peter | Peter
Petera| C | Petera | Peter
在我的示例中,我有三个人,在表1中有一些输入错误,因此Table2将每个名称分配给正确的名称。
现在我想要每个人(约翰,本,彼得)他们不同的对象。
这将是结果:
John A
B
Ben B
Peter B
C
这是我的尝试,但我收到错误:
Select b.name_corr, distinct(a.object) from Table1 as a join Table2 as b on (a.name=b.name_old) group by b.name_corr
没有分组,这意味着如果我通过'where'选择一个特定的名称,我的查询就可以了。
答案 0 :(得分:0)
distinct
不是一个功能。这是select
上的限定符:
Select distinct b.name_corr, a.object
from Table1 a join
Table2 b
on a.name = b.name_old;
答案 1 :(得分:0)
使用group_concat
:
Select b.name_corr, group_concat(distinct a.object) from Table1 as a join Table2 as b on (a.name=b.name_old) group by b.name_corr;
答案 2 :(得分:0)
我找到了解决问题的方法。 - >双重'分组'。很简单.. 无论如何,谢谢你的帮助。