综合百科

当前位置/ 首页/ 综合大全/综合百科/ 正文

sql不能用(sql语句不能创建的是)

导读 手工把你的2个SQL语句格式化一下以后create view kanasselect gno, name, unit, ( select sum(amount) from...

手工把你的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 使用的不正确。

select sum(amount) from goods_in group by gno having goods_in.gno=goods.gno一般 having 是用于针对 分组统计后 的数据,进行进一步筛选的处理。

例如having sum(amount) > 100这种,在分组之前,无法用 WHERE 语句来筛选的。

而你这个SQLhaving goods_in.gno=goods.gno这个 goods_in.gno=goods.gno 是不需要分组以后,才能作筛选处理的。

分组处理以前的 where 就可以处理了。

免责声明:本文由用户上传,如有侵权请联系删除!