关于Sql语句的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 01:24:45
我有两个表,商品表,交易订单信息表。我想做个商品信息一览检索,当不输入任何检索条件的时候,将商品表中所有的信息显示出来,但是要以该种商品的总交易金额降序排序。交易总金额通过商品表.卖价*交易订单信息表的数量。但是交易订单信息表中有个交易实际时间,只有存在的时候才能算作商品卖出。我想要检索出所有商品的信息以及交易总金额,没有卖出过的商品也要显示,金额为空。请问应该怎样做,一条sql语句可以实现吗?
能帮住小弟的感激不尽!
2楼你那样是没错但是还少一部分商品信息,比如说刚新引进的商品,在交易订单信息表中根本就没有订单信息,但是仍然需要显示该商品信息。应该怎么写呢?

给你个参考,使用交易明细表为主表

select 商品编号,sum((case 交易时间 is not null 数量 else 0 end)* 价格) total from 商品明细 group by 商品编号 order by total desc

这个就行了。关键点
1 要根据交易时间,得到数量,如果为null,则数量为0,此保证了只有卖出去的才被计算

2 数量×价格是金额
3 按照 商品进行分组,计算金额的总数 sum
4 按照总金额排序

5 如果你需要商品信息,可以 left join 商品 on 商品.编号 = 商品编号
这样就行了。

你这两张表是弄好了的吗,还是你要我们把表和SQL语句一起写给你呀?

一条sql语句?应该是实现不了。

一条不行的

级联查询。。。。应该可以的 现在就是不知道具体的啊 把表也写上啊! 有问题可以联系讨论qq396203422