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表?相关推荐

  1. mysql数据库补充知识3 查询数据库记录信息之多表查询

    一 介绍 准备表 company.employee company.department 复制代码#建表 create table department( id int, name varchar(2 ...

  2. mysql insert 结果集_SELECT查询结果集INSERT到数据表

    简介 将查询语句查询的结果集作为数据插入到数据表中. 一.通过INSERT SELECT语句形式向表中添加数据 例如,创建一张新表AddressList来存储班级学生的通讯录信息,然后这些信息恰好存在 ...

  3. 【mysql】左外连接查询中 on 和 where 的区别

    论点 在使用 mysql 的左外连接(left join)查询时,驱动表(left join 左边的表),亦即数据需要全部被查出表的查询条件建议用 where 设定,被驱动表(left join 右边 ...

  4. mysql语句计算距离_mysql查询中的距离计算

    小编典典 选项1:通过切换到支持GeoIP的数据库对数据库进行计算. 选项2:使用如下存储过程对数据库进行计算: CREATE FUNCTION calcDistance (latA double, ...

  5. mysql不支持not int查询结果,第九章 MySQL中LIMIT和NOT IN案例

    第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...

  6. mysql的explain怎么看_mysql中explain用法详解

    如果在select语句前放上关键词explain,mysql将解释它如何处理select,提供有关表如何联接和联接的次序. explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1 ...

  7. Hello MySQL(五)——SQL查询

    一.单表查询 1.查询所有字段 在SELECT语句中使用星号"*"通配符查询所有字段 在SELECT语句中指定所有字段 select * from `TStudent`; 2.查询 ...

  8. mysql 1066解决方法_MySQL查询语法帮助:错误#1066-表格/别名不唯...

    我有四个表,user,user_billingprofile,user_shippingprofile和user_address. 用户:userId,dateCreated user_billing ...

  9. 为什么 GROUP BY 之后不能直接引用原表中的列?

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 青石路 来源 | cnblogs.com/yo ...

最新文章

  1. 虚拟化--015 配置VMware View Event database失败:
  2. 11月2日科技联播:销量不及预期苹果市值跌破万亿美元;腾讯表示封杀抖音因微信规则...
  3. git idea 可视化_那些你应该知道的,但是你一定不知道的 Git 骚操作
  4. MyBatis-12MyBatis动态SQL之【choose when otherwise】
  5. C#验证Email是否真正存在,不是验证邮件格式,是邮件地址是否存在 .
  6. c++17(28)-Makefile(1)
  7. springmvc php,SpringMVC 常用注解
  8. mysql 51cto 数据类型_Mysql数据类型
  9. UC伯克利造出会「轻功」的机器人,飞檐走壁,一条腿跳遍天下|湾区人工智能...
  10. 数字孪生技术在智慧城市建设中有哪些应用?
  11. IOS实现SpotLight搜索 让你的APP支持SpotLight搜索
  12. Modularity(模块化)
  13. 用python代码(turtle库)绘制好看的效果图
  14. linux配置git
  15. Stephen 个人喜好配置 IDEA 主题
  16. html5设置春联,英文版春节对联
  17. 八道二叉树基础程序面试题
  18. android 拨号上网流程
  19. 奇异值分解(SVD)及其应用
  20. 项目管理之应对客户投诉

热门文章

  1. oracle“记录被另一个用户锁住”
  2. 利用 Domino V8 新特性开发 Mashup 应用(转载)
  3. 在ListView控件中绘底图
  4. 原来Queryable是这样实现的..
  5. screw (螺丝钉) ~ 简洁好用的数据库表结构文档生成工具
  6. java 注销变量_[ Java学习基础 ] Java对象的创建和销毁
  7. 高精度练习- P1015 回文数
  8. log4j每天生成一份html格式的日志
  9. 在debian上安装vmware tools的问题
  10. 10个最佳jQuery Lightbox效果插件收集