服务器之家

服务器之家 > 正文

mysql临时表用法分析【查询结果可存在临时表中】

时间:2020-12-02 15:55     来源/作者:风铃峰顶

本文实例讲述了mysql临时表用法。分享给大家供大家参考,具体如下:

一、创建临时表可以将查询结果寄存。报表制作的查询sql中可以用到。

(1)关于寄存方式,mysql不支持:

?
1
select * into tmp from maintenanceprocess

(2)可以使用:

?
1
create table tmp (select ...)

举例:

?
1
2
3
4
5
6
7
#单个工位检修结果表上部
drop table if EXISTS tmp_单个工位检修结果表(检查报告)上部;
create table tmp_单个工位检修结果表(检查报告)上部 (select workAreaName as '机器号',m.jobNumber as '检修人员编号',u.userName as '检修人员姓名',loginTime as '检修开始时间',
CONCAT(FLOOR((TIME_TO_SEC(exitTime) - TIME_TO_SEC(loginTime))/60),'分钟') as '检修持续时长'
from maintenanceprocess as m LEFT JOIN user u ON m.jobNumber = u.jobNumber where m.jobNumber = [$检修人员编号] and loginTime = [$检修开始时间]
);#创建临时表
select * from tmp_单个工位检修结果表(检查报告)上部;

备注:[$检修开始时间]是可输入查询的值

(3)创建临时表的另一种方式举例:

存储过程中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
BEGIN
#Routine body goes here...
declare cnt int default 0;
declare i int default 0;
set cnt = func_get_splitStringTotal(f_string,f_delimiter);
DROP TABLE IF EXISTS `tmp_split`;
create temporary table `tmp_split` (`val_` varchar(128) not null) DEFAULT CHARSET=utf8;
while i < cnt
do
set i = i + 1;
insert into tmp_split(`val_`) values (func_splitString(f_string,f_delimiter,i));
end while;
END

希望本文所述对大家MySQL数据库计有所帮助。

原文链接:https://blog.csdn.net/haoranhaoshi/article/details/80159439

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址 2020-08-12
最新idea2020注册码永久激活(激活到2100年)
最新idea2020注册码永久激活(激活到2100年) 2020-07-29
返回顶部