vottot
2011-03-21 16:45
浏览 280
已采纳

请教access的统计问题

我有这样的一个表 :

商品订单表:
Orders

商品编码 商品名称 客户名称 客户预订数量

goodsCode goodsName customName orderNum
110 面包 张三 10
110 面包 李四 20
111 牛奶 张三 10
111 牛奶 王五 20

现在要求统计出各个商品的总共预订数量,需求结果如下:

商品编码 商品名称 客户预订数量

goodsCode goodsName orderNum
110 面包 30
111 牛奶 30

select goodsCode from Orders group by goodsCode
使用group by 可以得出各类商品,但是在access里面统计和取得商品名称应该怎么写?
不可以直接:
select goodsCode,goodsName,sum(orderNum) from Orders group by goodsCode

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • redstarofsleep 2011-03-21 17:16
    已采纳

    [quote]
    select goodsCode,goodsName,sum(orderNum) from Orders group by goodsCode
    [/quote]
    这句话错在,你按goodsCode分组,但是前面要把goodsName查出来,这样就错了,因为在goodsCode相同的一组里,goodsName是有可能不一样的(虽然你实际的数据是都一样的,但是数据库不知道啊),所以就不让你这样查咯。
    所以我说是数据库的设计问题。
    要不你就根据goodsCode再查一遍吧

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • redstarofsleep 2011-03-21 16:50

    select goodsCode,goodsName,sum(orderNum) from Orders group by goodsCode,goodsName

    评论
    解决 无用
    打赏 举报
  • redstarofsleep 2011-03-21 17:06

    你的数据库设计的有冗余哦,商品编码和名称应该是一一对应的吧,那就应该把商品名称单独放到一个表里
    然后这个表里就这样查
    select goodsCode,,sum(orderNum) from Orders group by goodsCode。
    再建个表,比如叫GoodName
    商品编码 商品名称
    goodsCode goodsName
    110 面包

    111 牛奶

    只有编码和名称

    然后再一起查出来
    select Orders.goodsCode,,sum(orderNum),goodsName from Orders,GoodName where Orders.goodsCode=GoodName.goodsCode,group by goodsCode,goodsName

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题