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中的asorder\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