使用视图查询数据时出现列名无效的情况,可能与书名和书号没有相关约束有关,求指教
group by 后面只有"书号",那么查询结果必然一个书号只会出现一行,数据的行数已经固定,如果此时一个"书号"对应多个"书名",那么书名将无法显示,所以在标准sql规范中,明确了,在group by的聚合查询时, select的非聚合函数字段及非常量字段,必须出现在group by后面。
针对这个场景,可以使用聚合函数对"书名"这个字段进行处理,比如max/min之类的。
或者,在group by 后面,也加上书名,但前提是必须确保书号和书名是一一对应的,否则数据中会出现一个书号出现多次或者一个书名出现多次