-- step 1.创建临时表,命名为item_orders create temporary table item_orders ( item_id int, orderList varchar(1000) ) -- step 2.将查询到的数据放入临时表 insert into item_orders select item_id,GROUP_CONCAT(order_id) from itemorder group by item_id --其中,GROUP_CONCAT是一个mysql内置函数,用于分组之后的多行拼接成一行(之间以逗号分隔),其参数为列名 -- step 3.将临时表与其他表做连接查询,得到结果 select a.item_name,b.orderList from item_details a join item_orders b on a.item_id=b.item_id
其中,insert into item_orders select item_id,GROUP_CONCAT(order_id) from itemorder group by item_id 可以使得
例如,
数据库的结构如下:
no item
01 AA
01 BB
02 CC
02 DD
02 EE
03 FF
04 GG
04 HH
将no相同的列整合为一条记录如下
no items
01 AA,BB
02 CC,DD,EE
03 FF
04 GG,HH