这种查询如何用SQL表示,谢谢!(100分)

  • 主题发起人 主题发起人 K
  • 开始时间 开始时间
K

K

Unregistered / Unconfirmed
GUEST, unregistred user!
有2个表分别为A,B
A表有书号,书名
B表有书号,册数,金额
我要对B表进行分类汇总:select 书号,sum(册数),sum(金额) form B
并且依据A和B表的书号字段显示出书名形式如下:
书号,书名,汇总后的册数,汇总后的金额
这样要用SQL语訽如何写?谢谢!
 
SELECT A.书号,A.书名,SUM(B.册数),SUM(B.金额)FROM A,B WHERE A.书号=B.书号
 
楼上的,我想踢你三脚:-)
来晚了的。
 
另:
1. select 书号, 书名, 册数, 金额
from A, B
where A.书号=B.书号

2. select 书号, 书名, 册数, 金额
from B inner join A on (B.书号=A.书号)
 
select c.bookno,a.name ,c.total,a.name,b.money, b.money*c.total totalmoney
from (
Select b.booknumber bookno /* 书号 */,sum(b.total) total /* 合计册数*/
from b group by a.booknumber
) c ,A,B
where c.bookno=a.bookno
and a.bookno=c.bookno
and b.bookno=c.boono
//怎么样,好了没有? totalmoney 为你的sum(金额),total 为合计册数。
 
TIMDONGT和xie ke你们的不用试就知不对!要分类汇总不过我没在此写group by......
zengmj: 如何你的正确我星期一将100分给你。
还有与zengmj不同的吗?
 
SELECT B.书号,A.书名,SUM(B.册数),SUM(B.金额)
FROM A,B
WHERE B.书号=A.书号
Group by B.书号
 
大家都说了,我没的说了!
 
to zengmj:
注意a,b.c的笛卡尔集是不是所要求的答案!
试一试如下sql:
select a.no,a.name,c.total,c.sums from
a left outer join
(select no,sum(total)as total,sum(sums)as sums from b group by no)
as c on a.no=c.no
 
记住GROUP BY 了啦,不然编译就不会通过的
 
有Group by then ok!
 
SELECT A.书号,A.书名,SUM(B.册数),SUM(B.金额)FROM A,B WHERE A.书号=B.书号
GROUP BY A.书号,A.书名
 
记住,用上group by 的话千万记得把所非统计类字段加上
 
江维的方法对了,我试过了完全正确,linnil88补充的非常好,我在查询的时候确实遇到了这个
为题的就是把 group by 后多加一个 a.name
 
多人接受答案了。
 
后退
顶部