sql-server - 消息 4145,级别 15,状态 1,第 3 行 在预期条件的上下文中指定的非布尔类型表达式,靠近“与”
问题描述
我需要这个查询而不使用Group by
:
SELECT
SUM(a.MstSalesCounterVoucherDetails.Qty)
FROM
MstSalesCounterVoucherDetails a
WHERE
(ISNULL(a.MstSalesCounterVoucherDetails.UOMQTY, 0) - ISNULL(a.MstSalesCounterVoucherDetails.Qty, 0))
AND (a.VoucherId=374956)
解决方案
您放在WHERE
子句中的每条语句都需要产生一个true
or false
。您有一个算术表达式,它产生一个数字,但不是 a true/false
,即所谓的布尔值。此数值结果不会自动转换为布尔值(如在某些其他编程语言中)。
WHERE (ISNULL(a.MstSalesCounterVoucherDetails.UOMQTY, 0) - ISNULL(a.MstSalesCounterVoucherDetails.Qty, 0))
例如,您需要将其更改为:
WHERE (ISNULL(a.MstSalesCounterVoucherDetails.UOMQTY, 0) - ISNULL(a.MstSalesCounterVoucherDetails.Qty, 0)) <> 0
推荐阅读
- swift - Swift - 从网址保存视频
- python - 如何使用控制语句迭代列?
- pyspark - 在不平衡的数据集上为 pyspark (ml) 中的多类随机森林和 gbt 模型设置最佳阈值
- python - 'cover' 属性没有与之关联的文件。姜戈
- c# - TopMost 的替代方案,不关注任务栏
- node.js - 如何从 npm packge 访问 laravel .env 文件?
- c# - 如何返回字符串中重复字母的数量
- c# - JsonConfigurationSource/JsonConfigurationProvider
- amazon-web-services - 如何从 AWS EC2 跟踪 InsufficientInstanceCapacity?
- php - PHP:缺少必需的帖子参数