gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:45:00 25 4
gpt4 key购买 nike

我有一个名为 deals 的表,其中存储了 client_id1client_id2client_id3

这些 id 对应于 clients 表,其中包含 clientNameclient_id 字段。

如何创建名称字符串数组,其 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

说明:

从一张表中获取客户端:

 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)

现在要获得一个逗号分隔的字符串,要么在客户端(php)执行,要么让 MySQL 服务器执行,使用 GROUP_CONCAT :

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

关于MySql:从同一表的三个不同列中提取不同的条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7226862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com