如何解决MYSQL别名:无法为新表命名
我给了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] 举报,一经查实,本站将立刻删除。