mysql “ Every derived table must have its own alias”出现错误解决办法
mysql Everyderivedtablemusthaveitsownalias错误解决办法
Everyderivedtablemusthaveitsownalias
这句话的意思是说每个派生出来的表都必须有一个自己的别名
一般在多表查询时,会出现此错误。
因为,进行嵌套查询的时候子查询出来的的结果是作为一个派生表来进行上一级的查询的,所以子查询的结果必须要有一个别名
把MySQL语句改成:selectcount(*)from(select*from……)astotal;
问题就解决了,虽然只加了一个没有任何作用的别名total,但这个别名是必须的
selectname1name,Java,jdbc,hibernate,total from(selectsc1.namename1,sc1.markjava fromstudent_course2sc1 wheresc1.course='java')asa, (selectsc2.namename2,sc2.markjdbc fromstudent_course2sc2 wheresc2.course='jdbc')asb, (selectsc3.namename3,sc3.markhibernate fromstudent_course2sc3 wheresc3.course='hibernate')asc, (selectsc4.namename4,sum(sc4.mark)total fromstudent_course2sc4groupbysc4.name)asd wherename1=name2andname2=name3andname3=name4orderbytotalASC;
结果正确:
+----------+------+------+-----------+-------+ |name|java|jdbc|hibernate|total| +----------+------+------+-----------+-------+ |wangwu|40|30|20|90| |lisi|70|60|50|180| |zhangsan|100|90|80|270| +----------+------+------+-----------+-------+ 3rowsinset(0.02sec)
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!