我在访问中有一个查询:
SELECT iif([Cup Type] like '*Cylinder*',count([Cup Type]),0) AS Cylinder,
iif([Cup Type] like '*Snap*',count([Cup Type]),0) AS Snap,
iif([Cup Type] like '*Tip*',count([Cup Type]),0) AS Tip,
iif([Cup Type] like '*Other*',count([Cup Type]),0) AS Other
FROM [Lab Occurrence Form]
WHERE [1 0 Preanalytical (Before Testing)] Like '*1.3 QNS-Quantity Not Sufficient*'
And ((([Lab Occurrence Form].[Occurrence Date])
Between Forms!Meeting_Reasons_Frequency!Text4
And Forms!Meeting_Reasons_Frequency!Text2))
GROUP BY [Cup Type];
输出如下:
Cylinder Snap Tip Other
0 0 0 0
71 0 0 0
0 0 0 18
0 7 0 0
0 0 4 0
我为可怕的格式道歉,但我如何摆脱零?
我应该做select cylinder, snap, tip, other, from query1 where cylinder <> 0 etc..???
我希望输出为:
Cylinder Snap Tip Other
71 7 4 18
答案 0 :(得分:2)
在您澄清之后,您想要的是切换count()和IIf()的顺序并将其更改为sum()以便获得
sum(iif([Cup Type] like '*Cylinder*', 1, 0))
等
然后删除group by
以便只获得一个结果行。
答案 1 :(得分:1)
你的意思是你想要用全零除去行吗? 然后你必须添加像
这样的东西AND ([Cup Type] like '*Cylinder*' or [Cup Type] like '*Snap*' or [Cup Type] like '*Tip*' or [Cup Type] like '*Other*')
到你的地方。
答案 2 :(得分:1)
目前尚不清楚您要分组的内容,但您可以在每个字段上使用Max()。
但我怀疑这个问题比你的解释所说的更复杂。