首页 > 解决方案 > 如何让代码只查看列中的某些参数?

问题描述

我有 3 列(类别、总和、案例级别建议)。目标是根据某些参数使用 IIF 语句计算案例级别。我有代码可以根据参数工作。但是,我想将当前参数应用于具有术语托盘的类别,并设置另一个具有不同参数的代码集应用于具有术语设备的类别。(托盘和设备在同一列中)。如何获取代码以仅查看类别列中的托盘应用 IIF 并添加另一个类似的 IFF 以仅查看类别列中的设备。

当前代码是:

SELECT [Calculated Total].casemain_id, [Calculated Total].category, 
Sum([Calculated Total].Total) AS SumOfTotal, IIf([SumOfTotal] <=3,
"A",IIf([SumOfTotal]>=9,"D",IIf([SumOfTotal]>=6,"C",IIf([SumOfTotal]       
>=4,"B","C")))) AS [Case Level Suggested]
FROM [Calculated Total]
GROUP BY [Calculated Total].casemain_id, [Calculated Total].category
ORDER BY [Calculated Total].casemain_id;

我一直在尝试添加 WHERE [Calculated Total].category='Instrument Trays'; 但不断收到错误。

标签: sqlms-access

解决方案


当您在查询中分组时WHERE,您需要使用,而不是使用:HAVING

SELECT C.casemain_id, C.category,Sum([C].Total) AS SumOfTotal, 
IIf([SumOfTotal] <=3,
"A",IIf([SumOfTotal]>=9,"D",IIf([SumOfTotal]>=6,"C",IIf([SumOfTotal]       
>=4,"B","C")))) AS [Case Level Suggested]
FROM [Calculated Total] AS C
GROUP BY C.casemain_id, C.category
HAVING C.category="Instrument Trays"
ORDER BY C.casemain_id

问候,


推荐阅读