实现“mysql 一对多并整合成一条数据”教程

关系图

erDiagram
    Customer ||--o| Order : has_many

在上面的关系图中,一个客户可以有多个订单,即“一对多”的关系。

整合流程

下面是整个流程的步骤表格:

步骤 描述
1 创建客户表
2 创建订单表
3 插入客户数据
4 插入订单数据
5 查询并整合数据
6 显示整合后的数据

具体步骤及代码

步骤1:创建客户表

CREATE TABLE Customer (
    id INT PRIMARY KEY,
    name VARCHAR(50)
);

步骤2:创建订单表

CREATE TABLE Order (
    id INT PRIMARY KEY,
    customer_id INT,
    product_name VARCHAR(50),
    FOREIGN KEY (customer_id) REFERENCES Customer(id)
);

步骤3:插入客户数据

INSERT INTO Customer (id, name) VALUES (1, 'Alice');
INSERT INTO Customer (id, name) VALUES (2, 'Bob');

步骤4:插入订单数据

INSERT INTO Order (id, customer_id, product_name) VALUES (101, 1, 'Product A');
INSERT INTO Order (id, customer_id, product_name) VALUES (102, 1, 'Product B');
INSERT INTO Order (id, customer_id, product_name) VALUES (103, 2, 'Product C');

步骤5:查询并整合数据

SELECT Customer.id, Customer.name, GROUP_CONCAT(Order.product_name) AS products
FROM Customer
LEFT JOIN Order ON Customer.id = Order.customer_id
GROUP BY Customer.id;

步骤6:显示整合后的数据

整合后的数据如下:

id name products
1 Alice Product A,Product B
2 Bob Product C

通过以上步骤,你可以实现“mysql 一对多并整合成一条数据”的需求。希望对你有所帮助!如果有任何问题,请随时与我联系。