| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1713 人关注过本帖
标题:[求助]求出读者的借书的册书
只看楼主 加入收藏
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
 问题点数:0 回复次数:16 
[求助]求出读者的借书的册书

有两个表:一个为读者表,另一个为借阅表;这两和表之间有外码约束关系,即借阅表中的读者编号要与读者表中的读者编号要一致。
现在要统计读者在2004年到2006年间的借书册数,并把数值导入到读者表中,使得读者表中读者的编号与他所借阅书的册数一一对应。
麻烦大家看一下怎么解决啊,我写了好久还是没有写出来啊。。。。。

搜索更多相关主题的帖子: 读者 
2006-12-10 15:49
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
看看你是怎么写的?

飘过~~
2006-12-10 18:20
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
select duzhe.*,count=(select count(1) from jieyue where id=d.id) from  duzhe d

26403021 sql群 博客 blog./user15/81152/index.shtml
2006-12-10 18:36
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 
本来读者里面的册数为0,现在要把他修改为事实的借阅册数啊。。。
update 读者
set 借书册数=(select count(读者编号)
from 借阅
where 借阅日期 between '2004-01-01' and '2006-12-31'
group by 读者编号
)
where 读者.编号 in
(select 借阅.读者编号
from 读者,借阅
where 读者.编号=借阅.读者编号
group by 读者编号
)

我这样写不行啊,他把读者中册数都改为了相同的数啊,跟实际不一样啊
2006-12-10 19:00
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
select 读者.*,借书册数=(select count(1) from 借阅 where 读者编号
=d.编号 where 借阅日期 between '2004-01-01' and '2006-12-31'
) from 读者 d
你试试这样行不行

26403021 sql群 博客 blog./user15/81152/index.shtml
2006-12-10 19:11
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 

还是不行啊,这样只能增加一列册数而且册数里面的值都一样啊。。。

2006-12-10 19:39
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 

create table r(id int primary key)
insert into r select 1
union select 2

create table jie(id int foreign key references r(id),name varchar(20))
insert into jie select 1,'jinyu'
union select 1,'zhang'
union select 2,'kk'
insert into jie select 1,'jinyu'
union select 1,'zhang'
union select 2,'kk'

select r.*,c=(select count(1) from jie where id=r.id ) from r
我这样写怎么查出的不是一个结果啊,我是先要你查询一下这语句是否能得到你修改后的那个结果


26403021 sql群 博客 blog./user15/81152/index.shtml
2006-12-10 19:52
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 
不行啊。。。。。。原题目为:
实现在读者表中增加“借书册数’字段,统计借书者在2004年~2006年间所借书的册数,并将结果送入读者表中的借书册数字段的操作。
2006-12-10 19:56
棉花糖ONE
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:32
帖 子:2987
专家分:0
注 册:2006-7-13
收藏
得分:0 
select d.*,借书册数=(select count(1) from 借阅 where 读者编号
=d.编号 where 借阅日期 between '2004-01-01' and '2006-12-31'
) from 读者 d
你把这个先运行了看看结果再说

26403021 sql群 博客 blog./user15/81152/index.shtml
2006-12-10 19:58
lzf0112
Rank: 1
等 级:新手上路
帖 子:244
专家分:0
注 册:2006-4-9
收藏
得分:0 
呵呵,可以咯,
谢谢你啊。只是最后一个where应该改为and吧,
谢谢你!!!!!!!!!
2006-12-10 20:05
快速回复:[求助]求出读者的借书的册书
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033907 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved