Mysql SQL中分组属性的不同值

Mysql SQL中分组属性的不同值,mysql,sql,group-by,distinct,Mysql,Sql,Group By,Distinct,我有两张桌子: Table1 name object Table2 name_old name_corr ------|-----| ---------|----------- John | A | John | John Ben | B | Ben | Ben

我有两张桌子:

  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中有一些输入错误,所以表2将每个名字都指定给正确的名字

现在我希望每个人(约翰、本、彼得)都有自己独特的目标

这将是结果:

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”选择一个特定的名称,我的查询工作

distinct
不是一个函数。它是
select
上的限定符:

Select distinct b.name_corr, a.object
from Table1 a join
     Table2 b
     on a.name = b.name_old;

distinct
不是一个函数。它是
select
上的限定符:

Select distinct b.name_corr, a.object
from Table1 a join
     Table2 b
     on a.name = b.name_old;

使用
组\u 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;

使用
组\u 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;

我想出了解决问题的办法。->双“分组方式”。这么简单。。
无论如何谢谢你的帮助。

我想出了解决问题的办法。->双“分组方式”。这么简单。。
无论如何谢谢你的帮助。

有点不清楚。请在您的问题中添加问题和错误消息。这应该是我的问题:“现在我想为每个人(约翰、本、彼得)添加他们的distinc对象。”请比较我发布的结果。我添加了一个解释,不同名称类别的含义,如果这可能有点不清楚或不清楚的话。请在您的问题中添加问题和错误消息。这应该是我的问题:“现在我希望每个人(约翰、本、彼得)都有自己的distinc对象。”请比较我发布的结果。我添加了一个解释,不同的名称类别意味着什么,如果这可能有点不清楚的话,但是这样的话,我并不是每个名字都有不同的对象,而是只有一个。@Kai。我不知道你的评论是什么意思。这将返回每个名称/对象对一次,没有重复项。这似乎是你问题的意图。它并没有嘲笑我在问题中描述的结果。它不会给我“约翰A,B”,只会给我“约翰A”。我自己想出了一个解决办法。无论如何谢谢你!对于
John
,这将同时具有
A
B
。但是这样我不会为每个名称获取每个不同的对象,而是只获取一个。@Kai。我不知道你的评论是什么意思。这将返回每个名称/对象对一次,没有重复项。这似乎是你问题的意图。它并没有嘲笑我在问题中描述的结果。它不会给我“约翰A,B”,只会给我“约翰A”。我自己想出了一个解决办法。无论如何谢谢你!这将为
John
提供
A
B
。感谢LFJ,这是解决方案的一步;)这是可行的,但我不可能在一个额外的行中获取每个不同的对象,而不是单个字符串中的所有对象吗?感谢LFJ,这是迈向解决方案的一步;)它可以工作,但是我不可能在一个额外的行中获取每个不同的对象,而不是单个字符串中的所有对象吗?