mysql temporary_mysql – 如何在同一个查询中多次引用TEMPORARY表?
MySQL文档说:“你不能在同一个查询中多次引用TEMPORARY表.”
我知道之前有人问过这件事.但我无法找到以下具体解决方案.
我正在预选一张临时表
CREATE TEMPORARY TABLE preselection AS SELECT ...;
现在我想做一些(约20甚至30)工会
(SELECT FROM preselection ...)
UNION
(SELECT FROM preselection ...)
UNION
......
UNION
(SELECT FROM preselection ...)
我可以制作20或30个预选副本,并在每个表上进行每个选择,但如果我理解正确,这与在UNION链中的每个SELECT中作为子查询调用上面的预选查询相同.
有办法解决这个问题吗?
问候,
克里斯
完整查询:
CREATE TEMPORARY TABLE preselection AS
(
SELECT id, title, chapter, date2, date, snid, max(score) FROM `movies`
WHERE
(
cluster is not NULL
)
AND
(
`date` <= '2012-02-20 05:20:00'
AND `date` > '2012-02-19 17:20:00'
AND (TIMEDIFF(date, date2) < '12:00:00')
)
GROUP BY cluster
)
UNION
(
SELECT id, title, chapter, date2, date, snid, score FROM `movies`
WHERE cluster IS NULL
AND
(
`date` <= '2012-02-20 05:20:00' AND `date` > '2012-02-19 17:20:00' AND (TIMEDIFF(date, date2) < '12:00:00')
)
);
(SELECT * FROM preselection WHERE snid=1 AND chapter LIKE '#A_OT%'
DESC LIMIT 4)
UNION
…
UNION
(SELECT * FROM preselection WHERE snid=19 AND chapter LIKE '#A_OT%'
LIMIT 4)
UNION
... for each chapter from A to J and every snid from 1 to 19 ...
UNION
(SELECT * FROM preselection WHERE snid=1 AND chapter LIKE '#J_OT%'
LIMIT 4)
UNION
…
UNION
(SELECT * FROM preselection WHERE snid=19 AND chapter LIKE '#J_OT%'
LIMIT 4)
ORDER BY `score` DESC, `date`;
解决方法:
我认为错误信息是明确的:你不能用一个临时表做到这一点.创建数据视图而不是临时表是否可以解决问题?
标签:mysql,union,temp-tables
来源: https://codeday.me/bug/20190521/1146490.html
mysql temporary_mysql – 如何在同一个查询中多次引用TEMPORARY表?相关推荐
- mysql数据库补充知识3 查询数据库记录信息之多表查询
一 介绍 准备表 company.employee company.department 复制代码#建表 create table department( id int, name varchar(2 ...
- mysql insert 结果集_SELECT查询结果集INSERT到数据表
简介 将查询语句查询的结果集作为数据插入到数据表中. 一.通过INSERT SELECT语句形式向表中添加数据 例如,创建一张新表AddressList来存储班级学生的通讯录信息,然后这些信息恰好存在 ...
- 【mysql】左外连接查询中 on 和 where 的区别
论点 在使用 mysql 的左外连接(left join)查询时,驱动表(left join 左边的表),亦即数据需要全部被查出表的查询条件建议用 where 设定,被驱动表(left join 右边 ...
- mysql语句计算距离_mysql查询中的距离计算
小编典典 选项1:通过切换到支持GeoIP的数据库对数据库进行计算. 选项2:使用如下存储过程对数据库进行计算: CREATE FUNCTION calcDistance (latA double, ...
- mysql不支持not int查询结果,第九章 MySQL中LIMIT和NOT IN案例
第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...
- mysql的explain怎么看_mysql中explain用法详解
如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...
- Hello MySQL(五)——SQL查询
一.单表查询 1.查询所有字段 在SELECT语句中使用星号"*"通配符查询所有字段 在SELECT语句中指定所有字段 select * from `TStudent`; 2.查询 ...
- mysql 1066解决方法_MySQL查询语法帮助:错误#1066-表格/别名不唯...
我有四个表,user,user_billingprofile,user_shippingprofile和user_address. 用户:userId,dateCreated user_billing ...
- 为什么 GROUP BY 之后不能直接引用原表中的列?
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 青石路 来源 | cnblogs.com/yo ...
最新文章
- 虚拟化--015 配置VMware View Event database失败:
- 11月2日科技联播:销量不及预期苹果市值跌破万亿美元;腾讯表示封杀抖音因微信规则...
- git idea 可视化_那些你应该知道的,但是你一定不知道的 Git 骚操作
- MyBatis-12MyBatis动态SQL之【choose when otherwise】
- C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在 .
- c++17(28)-Makefile(1)
- springmvc php,SpringMVC 常用注解
- mysql 51cto 数据类型_Mysql数据类型
- UC伯克利造出会「轻功」的机器人,飞檐走壁,一条腿跳遍天下|湾区人工智能...
- 数字孪生技术在智慧城市建设中有哪些应用?
- IOS实现SpotLight搜索 让你的APP支持SpotLight搜索
- Modularity(模块化)
- 用python代码(turtle库)绘制好看的效果图
- linux配置git
- Stephen 个人喜好配置 IDEA 主题
- html5设置春联,英文版春节对联
- 八道二叉树基础程序面试题
- android 拨号上网流程
- 奇异值分解(SVD)及其应用
- 项目管理之应对客户投诉
热门文章
- oracle“记录被另一个用户锁住”
- 利用 Domino V8 新特性开发 Mashup 应用(转载)
- 在ListView控件中绘底图
- 原来Queryable是这样实现的..
- screw (螺丝钉) ~ 简洁好用的数据库表结构文档生成工具
- java 注销变量_[ Java学习基础 ] Java对象的创建和销毁
- 高精度练习- P1015 回文数
- log4j每天生成一份html格式的日志
- 在debian上安装vmware tools的问题
- 10个最佳jQuery Lightbox效果插件收集