大家好,乐天来为大家解答以下的问题,关于sql语言不可以创建,sql语句不能创建的是这个很多人还不知道,现在让我们一起来看看吧!
1、手工把你的2个SQL语句格式化一下以后create view kanasselect gno, name, unit, ( select sum(amount) from goods_in where goods_in.gno=goods.gno )- ( select sum(amount) from goods_out where goods_out.gno=goods.gno ) total from goodscreate view kanas select gno, name, unit, ( select sum(amount) from goods_in group by gno having goods_in.gno=goods.gno )- ( select sum(amount) from goods_out group by gno having goods_out.gno=goods.gno ) total from goods;发现差异在于,后面一个的 子查询里面 having 使用的不正确。
2、select sum(amount) from goods_in group by gno having goods_in.gno=goods.gno一般 having 是用于针对 分组统计后 的数据,进行进一步筛选的处理。
3、例如having sum(amount) > 100这种,在分组之前,无法用 WHERE 语句来筛选的。
4、而你这个SQLhaving goods_in.gno=goods.gno这个 goods_in.gno=goods.gno 是不需要分组以后,才能作筛选处理的。
5、分组处理以前的 where 就可以处理了。
本文分享完毕,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!