MySql:从同一个表的三个不同列中提取不同的条目

MySql:从同一个表的三个不同列中提取不同的条目,mysql,join,distinct,Mysql,Join,Distinct,我有一个名为deals的表,它存储client\u id1,client\u id2,client\u id3 这些id对应于具有clientName和client\u id字段的clients表 如何创建名称的字符串数组,其ID位于表deals的三列中的任意一列中 SELECT GROUP_CONCAT(Client) FROM ( SELECT clientName as Client FROM deals JOIN clients ON deals.client_id1 = cli

我有一个名为
deals
的表,它存储
client\u id1
client\u id2
client\u id3

这些id对应于具有
clientName
client\u id
字段的
clients

如何创建名称的字符串数组,其ID位于表deals的三列中的任意一列中

SELECT GROUP_CONCAT(Client) FROM (
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id1 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id2 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id3 = clients.client_id)
GROUP BY Client
说明: 从一个表中获取客户端: 工会也会从其他桌子上拿到它们 现在,要获得逗号分隔的字符串,请执行此客户端(php)或让MySQL服务器执行此操作,使用: 说明: 从一个表中获取客户端: 工会也会从其他桌子上拿到它们 现在,要获得逗号分隔的字符串,请执行此客户端(php)或让MySQL服务器执行此操作,使用:
你可能应该考虑规范化你的数据,但是你应该考虑规范化你的数据。
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id1 = clients.client_id
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id1 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id2 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id3 = clients.client_id)
SELECT GROUP_CONCAT(Client) FROM (
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id1 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id2 = clients.client_id
UNION ALL
 SELECT clientName as Client 
 FROM deals JOIN clients
 ON deals.client_id3 = clients.client_id)
GROUP BY Client