微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MYSQL别名:无法为新表命名

如何解决MYSQL别名:无法为新表命名

enter image description here

我给了3个表,我想将它们全部加入并给这个新表起一个名字'newtab'。 我是这样做的:

(select s1.Name as name,s1.ID as id,f1.Friend_ID as id,p1.Salary as sal
from Students as s1,Friends as f1,Packages as p1
where s1.ID=f1.ID AND s1.ID=p1.ID
) as newtab

现在的问题是使用'as newtab'时显示错误。 如何在MysqL中为这个新表命名?

解决方法

单独的代码段在语法上是不正确的,您需要一个主查询

例如

SELECT * FROM
(select s1.Name as name,s1.ID as id,f1.Friend_ID as id,p1.Salary as sal
from Students as s1,Friends as f1,Packages as p1
where s1.ID=f1.ID AND s1.ID=p1.ID
) as newtab

您还应该用显式连接替换逗号连接

“不,这就是您要回答我的问题所需要的一切”-那么,对于该问题的回答是,作为独立代码,这在语法上是不正确的-但您已经知道了。

,

您正试图给查询一个别名,这是不可能的,它仅在[... from table_name as alias_name ...]中才有意义

select s1.Name as name,p1.Salary as sal

不需要给别名相同的列名起别名,当您想要一个不同的名称时使用别名 喜欢:

select s1.Name as Student_Name,s1.ID as Student_ID,f1.Friend_ID,p1.Salary as sal

请注意:如果我未指定别名,则从s1.Name列开始,默认情况下,“名称”将显示为列名。

select s1.Name as name,Packages as p1
where s1.ID=f1.ID AND s1.ID=p1.ID;

删除“ as newtab”,查询应该可以正常工作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。