表1——orderform
字段如下: orderno,userid,bookid,booknum,price,orderdate,state
字段解释:订单号,用户id,书目id,购书数量,总价格,订单日期,订单状态
说明:给表中给每个订单的每一种书分配一条记录
表2——books
字段如下: id,name,editor,pub,pubdate,price,discount
字段解释:书目id,书名,编者,出版社,出版日期,单价,折扣现在想通过顾客购买情况统计每类书的销量显示给客户,即要获取如下信息:
书目id,书名,编者,出版社,出版日期,单价,折扣,目前销售数量
并且按照销售数量降序排序请问这个的SQL语句应该则么写?
字段如下: orderno,userid,bookid,booknum,price,orderdate,state
字段解释:订单号,用户id,书目id,购书数量,总价格,订单日期,订单状态
说明:给表中给每个订单的每一种书分配一条记录
表2——books
字段如下: id,name,editor,pub,pubdate,price,discount
字段解释:书目id,书名,编者,出版社,出版日期,单价,折扣现在想通过顾客购买情况统计每类书的销量显示给客户,即要获取如下信息:
书目id,书名,编者,出版社,出版日期,单价,折扣,目前销售数量
并且按照销售数量降序排序请问这个的SQL语句应该则么写?
-------------------------------
select 书目ID,书名,编者,出版社,出版日期,单价,折扣,
(select sum(数量) from orderform where 书目ID=A.书目ID)
from Books A
------------------------------------------------------
select 书目ID,书名,编者,出版社,出版日期,单价,折扣,
(select sum(数量) from orderform where 书目ID=A.书目ID) as 目前销售数量
from Books A
另:antigue(蠕蠕)说得很有道理。
没有GroupBy语句
就算加了GroupBy语句和OrderBy语句
由于使用了Group语句,所以要在GroupBy里面加上其它字段
这样最后的解果就有重复的--------------------------------------------------------------------
永远的PC火烈鸟...
我的Blog: http://blog.csdn.net/pcfirebird/
欢迎大家一起来切磋!
没有GroupBy语句
就算加了GroupBy语句和OrderBy语句
由于使用了Group语句,所以要在GroupBy里面加上其它字段
这样最后的解果就有重复的
--------------------------------------
不要加Group吧?
1.Books表里每个BookID是唯一的(相当于料品资料),不会重复。
2.select sum(数量) from orderform where 书目ID=A.书目ID
这里已经限定了书目ID=A.书目ID,加个Group by没有任何的作用。
inner join (select 书目ID,sum(数量) from orderform group by 书目ID) B
on A.书目ID=B.书目ID
select id as 编号,name as 书名,editor as 主编,pub as 出版社,books.price as 原价,discount as 折扣,
(select sum(booknum) from orderform where bookid=id) as 销售量
from Books
order by 销售量 desc
到时候直接搜索视图不就行了可是它提示这样:
除非同时指定了 TOP,否则 ORDER BY 子句在视图、内嵌函数、派生表和子查询中无效。以前没碰到过,请问如何解决?--------------------------------------------------------------------
永远的PC火烈鸟...
我的Blog: http://blog.csdn.net/pcfirebird/
欢迎大家一起来切磋!
select top 100 percent
id as 编号,name as 书名,editor as 主编,pub as 出版社,books.price as 原价,discount as 折扣,
(select sum(booknum) from orderform where bookid=id) as 销售量
from Books
order by 销售量 desc
min(price), min(discount), sum(booknum)
from orderform f, books k
where f.bookid=k.id
group by f.bookid
min(price), min(discount), sum(booknum)
from orderform f, books k
where f.bookid=k.id
group by f.bookid
order by sum(booknum) desc
怎么给分?--------------------------------------------------------------------
永远的PC火烈鸟...
我的Blog: http://blog.csdn.net/pcfirebird/
欢迎大家一起来切磋!
再次感谢各位!--------------------------------------------------------------------
永远的PC火烈鸟...
我的Blog: http://blog.csdn.net/pcfirebird/
欢迎大家一起来切磋!