project9527.PID=Loan9527.PID
group by Pname having COUNT(Bdate)>1
c)列出2005年贷款总额超过300万的工程的工程号、工程名和贷款总金额。
select Project9527.PID ,Pname,sum(money1)as 贷款总金额 from Project9527,Loan9527
where Project9527.PID=Loan9527.PID and ('2005-1-1'<=Bdate and Bdate<'2006-1-1') group by
Project9527.PID ,Pname having sum(money1)>3000000
4.完成如下更新(15分):
今天是2006年10月18日,“教学楼”工程还清了其所有贷款,请在数据库中更新相应记录。
update Loan9527 set Rdate='2006-10-18' where PID in (select PID from project9527 where pname='教学楼')
5.使用游标完成如下操作:
经过调查发现,“地铁”工程所有未偿还的贷款记录的贷款时间应该在2006-11-11日,做出以上更新。
declare c1 cursor for
select Bdate from project9527,Loan9527 where project9527.PID=Loan9527.PID and
Rdate is null
open c1
declare @x datetime
fetch next from c1 into @x
while @@fetch_status=0
begin
update Loan9527 set Bdate='2006-11-11'
where Bdate=@x
fetch next from c1 into @x
end
close c1
deallocate c1
6.列出同时满足如下条件的银行的银行号和银行名(20分):
a)该银行在济南。
b)贷出款的总金额大于与其在同一地区的其他任何银行的贷出款的总金额。
select Bank9527.BID,Bname from Bank9527,Loan9527 where Bank9527.city='济南' and Bank9527.BID=Loan9527.BID
group by Bank9527.BID,Bname
having sum(money1)>= all(select sum(money1) from Loan9527
group by Loan9527.BID )
某公司产品的分销管理系统有如下四个表项:
Agent(AID, ANAME, SALARY)
注:对应含义为:代理商(代理商编号,姓名,薪水)
要求: AID 为主码,所有字段不为空
create table Agent9527(AID varchar(8),ANAME varchar(8)not null,SALARY INT NOT NULL,primary key(AID))
Customer(CID,CNAME)
注:对应含义为:顾客(顾客编号,姓名)
要求:编号为主码,所有字段不为空
create table Customer9527(CID varchar(8),CNAME varchar(8) not null,primary key(CID))
Product ( PID,PNAME, PRICE)
注:对应含义为:产品信息(编号,名称,价格)
要求:编号为主码,所有字段不为空
CREATE table Product9527(PID varchar(8),PNAME varchar(8)not null,PRICE real not null,primary key(PID))
Orders(OID,BUY_DATE,CID,AID,PID ,QTY ,DOLLARS)
注:对应含义为:订单(订单号,购买日期,顾客号,产品号,代理商号,订购数量,订金)
要求:订单号为主码,顾客号、产品号、代理商号为外码,分别参照Customer中的CID, Agent 中的AID,和Product 中的PID,订购数量大于0,所有字段不为空。