高手帮忙看看这段SQL语句那里错了(ACCESS)

来源:百度知道 编辑:UC知道 时间:2024/05/24 09:38:23
SELECT 店铺名称, 产品编号, 类别, IIF(发货日期< #2009-01-01#, 发货数量,'') AS 期初发货, IIF(发货日期 between #2009-01-01# and #2009-03-15#, 发货数量,'') AS 本期发货
FROM 产品发货表
WHERE 店铺名称='东方'
GROUP BY 店铺名称, 产品编号, 类别
这样的子查询不对么?

SELECT 店铺名称, 产品编号, 类别, fh.期初发货, fh.本期发货 FROM(

SELECT 店铺名称, 产品编号, 类别, IIF(发货日期< #2009-01-01#, 发货数量,'') AS 期初发货, IIF(发货日期 between #2009-01-01# and #2009-03-15#, 发货数量,'') AS 本期发货

FROM 产品发货表

WHERE 店铺名称='东方') AS fh

GROUP BY 店铺名称, 产品编号, 类别

要用到聚合函数才能用分组函数group by ,否则全部列都要列在group by 后面
如下语句是正确:
SELECT 店铺名称, 产品编号, 类别, sum(发货数量) AS 发货总数,
FROM 产品发货表
WHERE 店铺名称='东方'
GROUP BY 店铺名称, 产品编号, 类别

把所有列明都写在 GROUP BY 后面试试