注册 登录
编程论坛 ASP技术论坛

向各位请教一个SQL语法。

skybirdzw 发布于 2008-07-27 21:20, 808 次点击
原SQL如下:
sql="select a.*,b.productID,b.productName,b.productMemberPrice,b.productQuantity "
sql=sql & "from b,a where b.orderID=a.orderID "
sql=sql &"and a.memName='"&session("memberName")&"'"

这是这条SQL输出的结果:
订单号 商品数量 收货地址 支付方式 下订单时间 订单处理结果
25     1        yyyy     网上银行 2007-11-26 15:25:06 未处理
25     1        yyyy     网上银行 2007-11-26 15:25:06 未处理
26     2        yyyy     网上银行 2007-11-26 15:26:46 未处理
26     2        yyyy     网上银行 2007-11-26 15:26:46 未处理
31     1        yyyy     网上银行 2007-11-27 12:10:16 未处理
32     1        yyyy     网上银行 2007-11-27 12:57:28 未处理
32     1        yyyy     网上银行 2007-11-27 12:57:28 未处理
34     1        yyyy     网上银行 2007-11-27 13:02:29 未处理
34     1        yyyy     网上银行 2007-11-27 13:02:29 未处理
34     1        yyyy     网上银行 2007-11-27 13:02:29 未处理
。。。
现在有个问题,我想让订单号不重复出现,并且商品数量也能累计相加,结果是这个样子:
25 2 yyyyy ...
26 4 yyyyy...
31 1 yyyyy...
32 2 yyyyy..
34 3 yyyyy...
  请问这样的SQL语句如何来写啊??
6 回复
#2
skybirdzw2008-07-27 22:34
怎么没人回答我的问题啊? 我在线等~~·
#3
madpbpl2008-07-28 00:18
用group by 订单号,其他的用max(字段) as 字段 或min(字段) as 字段
#4
skybirdzw2008-07-28 07:36
能否帮忙写一个啊?我是新手不知道怎么写这样的SQL,先谢了!
#5
tianyu1232008-07-28 10:12
这样的形式
select a.订单号,sum(a.数量) as 数量,max(b.价格) as 价格,min(其他字段) as 其他字段 from 表1 a,表2 b where 条件 group by a.订单号
#6
skybirdzw2008-07-28 16:18
搞定,谢谢tianyu123!可是还是有点不明白。Max函数不是求最大值么?怎么max(a.价格) as 价格 后却能实现相同订单号的数量相加 ?
  还有Min函数在这里起到什么作用啊 ? 能否详细地说一下? 感激不尽~~
#7
madpbpl2008-07-28 23:11
同一个订单号可能对应几个不同的价格,
max()   '取最高价
min()   '取最低价
1