按照你取m的代码 直接修改
SELECT 交货单 AS 交货单号, Count([库位]) AS M个数
FROM 基础数据
WHERE [库位]like'M*' or [库位]like'h*'
GROUP BY 交货单;
这个应该可以实现的吧
或者你如果要的是 先H个数 再M个数 再合计 那样就要子查询 或建中间表查询 例如:
建中间表查询
SELECT 基础数据.交货单, b.库位h计数, a.库位M计数, Nz([库位h计数],0)+Nz([库位m计数],0) AS 合计
FROM (基础数据 LEFT JOIN (SELECT 基础数据.交货单, Count(基础数据.库位) AS 库位h计数
FROM 基础数据
WHERE (((Left([库位],1))="h"))
GROUP BY 基础数据.交货单) AS b ON 基础数据.交货单 = b.交货单) LEFT JOIN (SELECT 基础数据.交货单, Count(基础数据.库位) AS 库位M计数
FROM 基础数据
WHERE (((Left([库位],1))="m"))
GROUP BY 基础数据.交货单) AS a ON 基础数据.交货单 = a.交货单
GROUP BY 基础数据.交货单, b.库位h计数, a.库位M计数, Nz([库位h计数],0)+Nz([库位m计数],0);
子查询方法:
SELECT a.交货单, (select count(b.库位) from 基础数据 as b where a.交货单 = b.交货单 and Left([b.库位],1)="h" GROUP BY b.交货单) AS 库位h计数,(select count(c.库位) from 基础数据 as c where a.交货单 = c.交货单 and Left([c.库位],1)="m" GROUP BY c.交货单) AS 库位m计数,nz(库位h计数)+NZ(库位M计数) as 合计
FROM 基础数据 as a
GROUP BY a.交货单