gpt4 book ai didi

sql - Access DB 上的 SQL ISNULL() 参数数量错误

转载 作者:行者123 更新时间:2023-12-04 16:31:59 24 4
gpt4 key购买 nike

我在 Access DB 上的 VB 应用程序中有这个查询:

  SELECT DISTINCT Specialization, MAX(a.faultZone) AS faultZone, ISNULL(a.faultCount, 0) AS NoOfFaults  FROM Technicians AS t 
LEFT JOIN
(
SELECT DISTINCT Faults.[Type] AS faultType, MAX(Faults.[Zone]) AS faultZone, COUNT(Faults.[Type]) AS faultCount
FROM Faults "
WHERE Faults.[Zone] = 8 " ' this value will be from variable
GROUP BY Faults.[Type] "
) AS a
ON (t.Specialization = a.faultType)
WHERE t.specialization <> 'None' "
GROUP BY a.faultCount, t.Specialization

它给出了我无法解决的以下问题......

"Wrong number of arguments used with function in query expression 'ISNULL(a.faultCount, 0'."



我想要实现的只是设置值 NoOFFaults为零,这意味着特定区域没有故障。

谢谢你

最佳答案

只是为了增加我的两分钱,虽然我喜欢 Nz() 的简单语法,但如果您寻求无故障的性能,应该避免 IsNull() 和 NZ() 以支持 Is Null:
IIF(a.faultCount Is Null, 0, a.faultCount) .

请参阅此处的出色解释:http://allenbrowne.com/QueryPerfIssue.html

此外,如果您的表位于 SQL Server 或 Oracle 中,则使用 Nz() 将强制在本地执行更多查询,从而对性能产生巨大影响。

关于sql - Access DB 上的 SQL ISNULL() 参数数量错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13633980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com