mysql-MySQL错误Every derived table must have its own alias

问题描述

MySQL错误Every derived table must have its own alias

SELECT *
from (select *
from student
where dept_name = 'Comp.Sci.')
natural full outer join
(select *
from takes
where semester = 'Spring' and year = 2009 ) as aa ;

        到底怎么改 T-T

解决方案

一般在多表查询时,会出现此错误。
因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名

解决方案二:

SELECT *
from (select *
from student
where dept_name = 'Comp.Sci.') as bb
natural full outer join
(select *
from takes
where semester = 'Spring' and year = 2009 ) as aa ;

在第一个子查询后面设置一个别名就可以了

解决方案三:

Select distinct(LAC_CI) from (Select LAC_CI from dtdb_sh_test.dt_measurment where callid='04021002ms31310379260576' union Select LAC_CI from dtdb_sh_test.dt_measurment where callid='04021002ms3131......
答案就在这里:MySQL错误:Every derived table must have its own alias

时间: 2024-12-21 23:53:55

mysql-MySQL错误Every derived table must have its own alias的相关文章

MySQL错误:Every derived table must have its own alias

Every derived table must have its own alias 派生表都必须有自己的别名 一般在多表查询时,会出现此错误. 因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名, 把MySQL语句改成:select count(*) from (select * from --) as total; 问题就解决,虽然只加了一个没有任何作用的别名total,但这个别名是必须的. select name1 name,

MySQL中的derived table(r12笔记第47天)

初始MySQL中的derived table还是在一个偶然的问题场景中. 下面的语句在执行的时候抛出了错误. UPDATE payment_data rr    SET rr.penalty_date = '2017-4-12'  where rr.id =        (SELECT min(r.id)           FROM payment_data r          where data_no =                (SELECT data_no          

MySQL · 新特性分析 · 5.7中Derived table变形记

Derived table实际上是一种特殊的subquery,它位于SQL语句中FROM子句里面,可以看做是一个单独的表.MySQL5.7之前的处理都是对Derived table进行Materialize,生成一个临时表保存Derived table的结果,然后利用临时表来协助完成其他父查询的操作,比如JOIN等操作.MySQL5.7中对Derived table做了一个新特性.该特性允许将符合条件的Derived table中的子表与父查询的表合并进行直接JOIN.下面我们看一下DBT-3中

MySQL常见错误问答!

mysql|错误 18.2.1 MySQL server has gone away错误 本小节也涉及有关Lost connection to server during query的错误. 对MySQL server has gone away错误最常见的原因是服务器超时了并且关闭了连接.缺省地,如果没有事情发生,服务器在 8个小时后关闭连接.你可在启动mysqld时通过设置wait_timeout变量改变时间限制. 你可以通过执行mysqladmin version并且检验正常运行的时间来检

修复mysql表错误

普通修复 mysql> repair table cab_data; +---------------------+--------+----------+------------------------------------------------------------------------+ | Table | Op | Msg_type | Msg_text | +---------------------+--------+----------+------------------

mysql limit错误错在哪里?

问题描述 mysql limit错误错在哪里? MySQL 5.6.12 select * from table limit 1-1 ; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near '-11' at line 1 解决方案 好吧,看来My

mysql语法错误-请教一个mysql创建查询表问题

问题描述 请教一个mysql创建查询表问题 create table student(stuId int(10) not null auto_increment primary key comment '主键',stuNum varchar(50) default null comment '学号',stuName varchar(50) default null comment '名字',stuPwd varchar(25) default null comment '密码',stuSex v

MySQL数据库-错误1166 Incorrect column name_Mysql

出现MySQL数据库-错误1166 Incorrect column name 字段名,这个是字段中有空格了,这个只要利用alert或phpmyadmin进入修改即可解决. 今天在用Navicat for MySQL给MySQL数据库修改表的字段时报如下的错误 SQL 查询: CREATE TABLE `gfan_content`.`channel_into` ( `time` INT( 11 ) NOT NULL COMMENT '产品id', `bid` INT( 11 ) NOT NULL

mysql提示[Warning] Invalid (old?) table or database name问题的解决方法_Mysql

DROP TABLE IF EXISTS [TEMP_TABLE_NAME]; create temporary table [TEMP_TABLE_NAME] select col1,col2,... from [TABLE_NAME]; alter table [TEMP_TABLE_NAME] add unique idx_col1(col1); 经过以上操作中,多次出现该warning问题.通过查询和跟踪调试源码,有以下线索和处理方式: mysql的"[Warning] Invalid