MySQL 临时表的使用

-- 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

 参考:http://zhidao.baidu.com/link?url=nBf36qJy2vhUup9J3hBZKRbWHkVmNbo17ZrZXTnGvAqHxgOOSRqRPE6YEp7zbKwp-lovBvi15-vgq8ur6s534a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值