sql合并重复的字段
这是从数据库查出来显示的表:订单号姓名产品型号数量合计商品单价商品金额配送方式配送金额金额合计20121109182559邓01产品A14848韵达快递126020121...
这是从数据库查出来显示的表:
订单号 姓名 产品型号 数量合计 商品单价 商品金额 配送方式 配送金额 金额合计
20121109182559 邓01 产品A 1 48 48 韵达快递 12 60
20121109182559 邓01 产品C 1 48 48 韵达快递 12 60
20121110174049 沉沉 产品C 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 产品A 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 产品B 3 48 144 韵达快递 12 156
20121119092224 啊黄啊 产品C 2 48 96 韵达快递 12 108
请问怎么合并成下面这样的表并显示出来:
订单号 姓名 产品A 产品B 产品C 数量合计 商品单价 商品金额 配送方式 配送金额 金额合计
20121109182559 邓01 1 1 2 48 96 韵达快递 12 108
20121110174049 沉沉 2 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 2 3 2 7 48 336 韵达快递 12 348
订单表:
sql="select distinct(goods),username,receipt,usertel,id,productnum,actiondate,address,paid,deliverymethord,state,UserID from Orders "
因为我用的是ACCESS数据库,不是SQL数据库,所以sql的写法行不通,哪位大哥提供下ACCESS的写法啊,很急的,谢谢! 展开
订单号 姓名 产品型号 数量合计 商品单价 商品金额 配送方式 配送金额 金额合计
20121109182559 邓01 产品A 1 48 48 韵达快递 12 60
20121109182559 邓01 产品C 1 48 48 韵达快递 12 60
20121110174049 沉沉 产品C 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 产品A 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 产品B 3 48 144 韵达快递 12 156
20121119092224 啊黄啊 产品C 2 48 96 韵达快递 12 108
请问怎么合并成下面这样的表并显示出来:
订单号 姓名 产品A 产品B 产品C 数量合计 商品单价 商品金额 配送方式 配送金额 金额合计
20121109182559 邓01 1 1 2 48 96 韵达快递 12 108
20121110174049 沉沉 2 2 48 96 韵达快递 12 108
20121119092224 啊黄啊 2 3 2 7 48 336 韵达快递 12 348
订单表:
sql="select distinct(goods),username,receipt,usertel,id,productnum,actiondate,address,paid,deliverymethord,state,UserID from Orders "
因为我用的是ACCESS数据库,不是SQL数据库,所以sql的写法行不通,哪位大哥提供下ACCESS的写法啊,很急的,谢谢! 展开
9个回答
展开全部
select distinct 姓名 from table
参考资料: http://www.zhangshiju.com/2011/06/2116/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用case 语句来实现
select 订单号,姓名,
sum( case when 产品型号 = '产品A' then 数量合计 else 0 end) as 产品A,
sum( case when 产品型号 = '产品B' then 数量合计 else 0 end) as 产品B,
sum( case when 产品型号 = '产品C' then 数量合计 else 0 end) as 产品C,
sum(数量合计) as 数量合计,
sum(商品金额) / sum(数量合计) as 商品单价,
sum(商品金额) as 商品金额,
配送方式,
max(配送金额) as 配送金额,
sum(商品金额) + max(配送金额) as 金额合计
from table1
group by 订单号,姓名,配送方式
select 订单号,姓名,
sum( case when 产品型号 = '产品A' then 数量合计 else 0 end) as 产品A,
sum( case when 产品型号 = '产品B' then 数量合计 else 0 end) as 产品B,
sum( case when 产品型号 = '产品C' then 数量合计 else 0 end) as 产品C,
sum(数量合计) as 数量合计,
sum(商品金额) / sum(数量合计) as 商品单价,
sum(商品金额) as 商品金额,
配送方式,
max(配送金额) as 配送金额,
sum(商品金额) + max(配送金额) as 金额合计
from table1
group by 订单号,姓名,配送方式
更多追问追答
追问
你好,你这个是SQL的写法,这种语法在Access中却不支持,能变通一下吗,谢谢
追答
那你可以用iif替代一下
select 订单号,姓名,
sum( iif(产品型号 = '产品A' ,数量合计 ,0 ))as 产品A,
sum( iif(产品型号 = '产品B' ,数量合计 ,0 ))as 产品B,
sum( iif(产品型号 = '产品C' ,数量合计 ,0 )) as 产品C,
sum(数量合计) as 数量合计,
sum(商品金额) / sum(数量合计) as 商品单价,
sum(商品金额) as 商品金额,
配送方式,
max(配送金额) as 配送金额,
sum(商品金额) + max(配送金额) as 金额合计
from table1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个你要用交叉表来做,就是把表中的值作为字段来查询,你可以看看交叉表的使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这个表格有问题,产品A B C都是列名了,那后面的数量是谁的啊,
不知道您想统计什么数据?
不知道您想统计什么数据?
追问
产品A B C 就是数据表里id,因为我做了判断,产品id 249=产品A,250=产品B,251=产品C,明白不?你懂不懂的??
产品A产品B产品C
追答
不好意思,我不懂。怪不得你说我不懂,access我确实不熟悉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询