如何解决总和上无效的列名
| 我正在尝试执行sql语句select buyer,issuer,ident,sum(qnty) as sum1
from palete
where sum1 <> 0
group by buyer,ident
我得到错误
无效的列名称\'sum1 \'。
问题是我得到了很多结果,所以我想避免这些结果在sum1为0的情况下使用。
感谢帮助!
解决方法
备用,不带子查询:
select buyer,issuer,ident,sum(qnty) as sum1
from palete
group by buyer,ident
having sum(qnty) <> 0
, where子句中不识别别名。您需要这样做:
select buyer,ident
having sum(qnty) <> 0
, select * from
(
select buyer,sum(qnty) as sum1 from palete group by buyer,ident
) as T1 where T1.sum1 <> 0
, 您将需要使用HAVING子句而不是WHERE子句。
SQL HAVING子句与SELECT子句一起使用可为组或集合指定搜索条件。 HAVING子句的行为类似于WHERE子句,但适用于组-结果集中的行表示组。相反,WHERE子句应用于单个行,而不应用于组。
希望这可以帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。