Php 如何基于一个公共字段合并来自两行不同表的数据

Php 如何基于一个公共字段合并来自两行不同表的数据,php,mysql,sql,Php,Mysql,Sql,我有两个几乎相同的表order\u management和order\u management 2order\u id是自动递增的,其中order\u management 2中的asorder\u id不是。我想根据顺序id合并两个表中每个字段的数据 假设 订单管理表 order_id customer_name fone no. -------- ------------- --------- 1 A

我有两个几乎相同的表
order\u management
order\u management 2
<
order\u management
中的code>order\u id是自动递增的,其中
order\u management 2中的as
order\u id
不是。我想根据
顺序id
合并两个表中每个字段的数据

假设

订单管理表

order_id      customer_name     fone no.      
--------      -------------    ---------
1              A                89000
2              B                78989
3              C                56464
  order_id        customer_name      fone no.
 ----------      ---------------    ----------
   2                D                 89076
   3                E                 67598
   4                F                 67545
订单管理2表

order_id      customer_name     fone no.      
--------      -------------    ---------
1              A                89000
2              B                78989
3              C                56464
  order_id        customer_name      fone no.
 ----------      ---------------    ----------
   2                D                 89076
   3                E                 67598
   4                F                 67545
如果两个表的
order\u id
均为
2
,则应显示如下:

 order_id        customer_name      fone no.
 ----------      ---------------    ----------
   2                B,D               78989,89076
   3                C,E               56464,67598

如何执行此操作?

您可以尝试以下查询:

SELECT order_id,GROUP_CONCAT(customer_name SEPARATOR ',')as customer_name,
GROUP_CONCAT(`fone no.` SEPARATOR ',')as `fone no.` 
FROM order_management o JOIN order_management2 o2 
ON o.order_id=o2.order_id GROUP BY o.order_id      
选择订单id、组名称(客户名称分隔符)cname、组名称(无分隔符)fno
来自订单管理o1
左加入订单管理2 o1上的o2.order\u id=o2.order\u id
按o1.order\u id分组

通过此操作,您将收到所需的结果。

此操作对我有效:

SELECT
  t1.order_id,
  CONCAT(t1.customer_name, ',', t2.customer_name) AS customer_name,
  CONCAT(t1.phone, ',', t2.phone) AS phone_no
FROM order_management t1
JOIN order_management2 t2 ON t1.order_id = t2.order_id
GROUP BY t1.order_id