【发布时间】:2012-01-12 18:50:22
【问题描述】:
我有一个查询,它在板上获取用户 ID 列表及其对应的用户名,但如果所述用户有改变了他们的名字。使用外连接,我得到了三个很好的显示,如下面的一些结果示例所示:
member_id name dname_current
1 Blablabla1 blablabla2
2 Bla4444
3 RevZ
5 Herpaderp42
6 Lalalala
7 Kaboom
14 testtesttest21 Formula21
15 Alex Ethan
16 Bob Radio3
获取三列的SQL查询如下:
SELECT
data_members.member_id,
data_members.name,
data_dnames_change.dname_current
FROM data_members LEFT OUTER JOIN data_dnames_change
ON data_members.member_id = data_dnames_change.dname_member_id
GROUP BY data_members.member_id
有没有办法显示它,以便它将另一个表的“dname_current”列中存在的值合并到“name”列中,替换该列对应行中已经存在的任何值?
【问题讨论】:
-
您的问题是用户可能多次更改他们的姓名,因此您想在一行中显示他们的每个姓名更改?
-
不,左外连接恰好选择了最近的名称更改,我已经确定了这一点。我只想将结果合并在一起,这样如果列出了名称更改,它将显示该名称而不是原始(登录)名称。我会看看你下面的答案!