當前位置:首頁 » 編程語言 » 計算每種圖書的積壓貨款sql
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

計算每種圖書的積壓貨款sql

發布時間: 2022-05-18 14:48:22

sql題目,關於圖書信息管理系統

在此圖書館管理系統中,使用到了一個重要的連接,即與資料庫Accesss相連。資料庫中存有圖書館中所信息,包括讀者信息、管理員資料、借閱與退還記錄。所有與管理有關的數據皆在其中,是保證系統能夠正常實現各種功能的一架橋。

1、 資料庫需求分析

⒈Admi表,即管理員表,記錄了用戶名和密碼。

⒉Admirz表,即管理日誌表,記錄了書號、書名、圖書證號、借/還、操作日期、已付款額。

⒊book表,即圖書表,記錄了書號、書名、作者、出版社、入庫時間、是否借出、價格。

⒋borrowbook表,即借閱表,記錄了圖書證號、書號、借閱日期、應還日期。

⒌person表,即讀者表,記錄了圖書證號、姓名、性別、系別、班級。

2 、資料庫表的設計

⒈Admi表

表中記錄了可以使管理員進入該系統的用戶名及密碼,如表1所示。

表5借閱表

② SQL Server 資料庫課程設計某書店圖書進貨、銷售管理系統(Myeclipse和mysql)

這個是資料庫設計,不是前端業務邏輯實現,只需要完成數據表的設計以及存儲過程、視圖、約束、用戶自定義函數等的設計就可以了,不用考慮myeclipse前端的。

③ 求一條SQL語句,比較棘手,高手進來看看吧,小弟感激不盡。。

flyingFish211 樓上的這位應該是大牛級別的人物,用眼睛就短時間內直接回答了你的問題。
有的地方我是參考它的
我只能做到這個程度:不知道以下答案是否能滿足你的要求

create table tb_a (
isn int auto_increment primary key, -- 圖書內碼
bookname varchar(20), -- 書名
price double, -- 定價
bookno int -- 書號
);
create table tb_b(
stocknum int auto_increment primary key, -- 進貨單號
time Date, -- 進貨時間
stockname varchar(20), -- 進貨商品名稱
sumprice double -- 進貨實洋
);
create table tb_c(
note int auto_increment primary key, -- 進貨記錄
rebate double, -- 進貨折扣
amount int, -- 進貨數量
stocknum int, -- 進貨單號
isn int -- 圖書內碼
);
create table tb_d(
depotloc int auto_increment primary key, -- 庫位
isn int, -- 圖書內碼
depotnum int, -- 庫存
depotno int -- 倉號
);

-- 添加外鍵約束
alter table tb_c
add constraint tb_c_FK foreign key (isn) references tb_a(isn);
alter table tb_d
add constraint tb_d_FK foreign key (isn) references tb_a(isn);

alter table tb_c
add constraint tb_c_stocknum_FK foreign key (stocknum) references tb_b(stocknum);

-- 插入tb_a 表的數據

insert into tb_a(isn,bookname,price,bookno) values(1001,'文本1','10.00',1234);
insert into tb_a(isn,bookname,price,bookno) values(1002,'文本2','12.00',1235);
insert into tb_a(isn,bookname,price,bookno) values(1003,'文本3','12.80',1236);

-- 插入tb_b 表的數據

insert into tb_b(stocknum,time,stockname,sumprice) values(2001,'2012-02-16','北京新華書店',2540.00);
insert into tb_b(stocknum,time,stockname,sumprice) values(2002,'2012-02-15','上海新華書店',540.00);
insert into tb_b(stocknum,time,stockname,sumprice) values(2003,'2012-02-14','鄭州新華書店',1540.00);

-- 插入tb_c 表的數據
insert into tb_c(note,rebate,amount,stocknum,isn) values(3001,0.74,60,2001,1001);
insert into tb_c(note,rebate,amount,stocknum,isn) values(3002,0.74,100,2001,1001);
insert into tb_c(note,rebate,amount,stocknum,isn) values(3003,0.61,120,2001,1002);
insert into tb_c(note,rebate,amount,stocknum,isn) values(3004,0.62,120,2001,1003);
insert into tb_c(note,rebate,amount,stocknum,isn) values(3005,0.65,50,2002,1002);
insert into tb_c(note,rebate,amount,stocknum,isn) values(3006,0.85,40,2002,1001);

-- 插入tb_d 表的數據
insert into tb_d(depotloc,isn,depotnum,depotno) values(24,1001,50,1);
insert into tb_d(depotloc,isn,depotnum,depotno) values(26,1002,60,1);
insert into tb_d(depotloc,isn,depotnum,depotno) values(27,1001,30,2);
insert into tb_d(depotloc,isn,depotnum,depotno) values(54,1002,80,2);

__________________________

表的基本情況就是,表A.內碼 = 表C.內碼 = 表D.內碼;表C.進貨單號 = 表B.進貨單號

1,求一條SQL語句,統計2001單號中每個圖書進貨的總數,應返回
圖書內碼,書名,定價,進貨數量,折扣,庫存,庫位,進貨記錄,進貨單號

select tb_c.stocknum,tb_a.isn,tb_a.bookname,tb_a.price,tb_c.amount,tb_c.rebate,tb_d.depotnum,tb_d.depotloc,tb_c.note
from tb_c left join tb_a on (tb_c.isn=tb_a.isn)
left join tb_d on (tb_c.isn=tb_d.isn)
where tb_c.stocknum=2001;

select tb_c.stocknum '單號',tb_a.isn '圖書內碼',tb_a.bookname '書名',tb_a.price '定價',tb_c.amount '數量',tb_c.rebate '折扣',
tb_d.depotnum '庫存',tb_d.depotloc '庫位',tb_c.note '庫存記錄'
from tb_c left join tb_a on (tb_c.isn=tb_a.isn)
left join tb_d on (tb_c.isn=tb_d.isn)
where tb_c.stocknum=2001;

____________________________________

2. 求一條SQL語句,統計1倉庫存大於零的書目,並且帶上最低折扣的供應商,應返回結果:
圖書內碼,書名,定價,庫存,庫位,折扣,供應商

___________________

select tb_d.depotno,tb_a.isn,tb_a.bookname,tb_a.price,
tb_d.depotnum,tb_d.depotloc,
tb_c.rebate,
tb_b.stockname
from tb_d left join tb_a on (tb_a.isn=tb_d.isn)
left join tb_c on (tb_c.isn=tb_d.isn)
left join tb_b on (tb_c.stocknum = tb_b.stocknum )
where tb_d.depotno=1 and tb_d.depotnum>0;

3, 求一條SQL語句,統計1號倉庫存大於零的書目,並且帶上最後一次進貨的供應商,應返回結果:
圖書內碼,書名,定價,庫存,庫位,進貨日期,供應商

select tb_d.depotno,tb_d.depotnum,tb_d.depotloc,
tb_a.isn,tb_a.bookname,tb_a.price,
tb_b.time,tb_b.stockname
from tb_d left join tb_a on (tb_a.isn=tb_d.isn)
left join tb_b on tb_b.stocknum
where tb_d.depotno=1 and tb_d.depotnum>0;

④ SQL語句 查詢統計借閱.dbf,顯示每種圖書的書號,借閱次數. 求大神賜我答案

現有三張表,分別是:圖書.dbf,讀者.dbf,借閱.dbf,
查詢統計借閱.dbf,顯示每種圖書的書號,借閱次數。

select 圖書書號,借閱次數 from 借閱.dbf

查詢圖書.dbf,顯示所有書名包含「基礎」二字的圖書信息。

select * from 圖書.dbf where 書名 like '%基礎%'

按辦證日期先後順序顯示讀者.dbf中的讀者信息。

select * from 讀者.dbf order by 辦證日期 asc(或者desc)

查詢顯示被借閱次數最多的前三名圖書的書號,書名,借閱次數。

select 書號,書名,借閱次數 from 借閱.dbf where 借閱次數 in (select top 3 借閱次數 from 借閱.dbf order by 借閱次數 desc)

查詢圖書.dbf顯示圖書的平均價格。

select avg(sum(圖書價格)) from 圖書.dbf

查詢統計讀者.dbf,顯示男、女讀者各有多少人。

select 性別,count(性別) as 人數 from 讀者.dbf group by 性別

查詢圖書.dbf,顯示所有書名包含「程序」二字的圖書信息。

select * from 圖書.dbf where 書名 like '%程序%'

查詢統計圖書.dbf,顯示出版社名及各個出版社的圖書總數。

select 出版社,count(出版社) as 圖書總數 from 讀者.dbf group by 性別

查詢顯示至少被借閱了2次的圖書的書號及書名

select 書號,書名 from 圖書.dbf where 借閱次數>2

很辛苦啊,採納下吧^_^

⑤ 怎樣用SQL語句表示每個月統計並輸出2006年每個月份的圖書借出的冊數

1. 求總藏書量、藏書總金額,總庫存冊數、最高價、最低價。
select count(圖書編號) as 總藏書量,
sum(定價) as 藏書總金額,
sum(實際數量) as 總庫存冊數,
max(定價) as 最高價,
min(定價) as 最低價
from 圖書卡片
go
2. 列出藏書在10本以上的書(書名、作者、出版社、年份)。
select 圖書名稱,作者姓名,出版社,出版日期
from 圖書卡片
group by 圖書編號 having(coung(1)>10)
order by 圖書名稱
go
3. 哪些出版社的藏書種類數超過100種。
select 出版社 as '藏書種類數超過100種的出版社'
from 圖書卡片
group by 出版社 having(count(類別)>100)
order by 出版社
go
4. 目前實際已借出多少冊書?
select sum(借出數量) as '借出數量'
from 圖書卡片
go
5. 年份最久遠的書。
select top 1 with ties 圖書名稱 from 圖書卡片
order by 出版日期
go
6. 「資料庫系統原理教程,王珊編,清華大學出版社,1998年出版」還有幾本?
select count(1) from 圖書卡片
where concaints(摘要,'"資料庫系統原理教程,王珊編,清華大學出版社,1998年出版"')
go
7. 哪一年的圖書最多?
select top 1 with ties convert(substring(出版日期,1,4)) as 年份,count(1) as '圖書數量'
from 圖書卡片
group by 出版日期
order by 圖書數量 desc
go
8. 哪本借書證未歸還的圖書最多?
select top 1 with ties A.讀者編號,count(1) as '借書數量'
from 圖書卡片 A,借閱 B
where A.圖書編號=B.圖書編號
group by A.讀者編號
order by 借書數量 desc
go
9、平均每本借書證的借書冊數。
select avg(借閱數量) as '平均每本借書證的借書冊數'
from 借閱
go

10.哪個系的同學平均借書冊數最多?
select top 1 with ties A.工作單位,avg(借閱數量) as '平均借閱數量'
from 讀者 A,借閱 B
where A.讀者編號=B.讀者編號
group by A.工作單位
order by 平均借閱數量' desc
go

11. 最近兩年都未被借過的書。
select 圖書名稱
from 圖書卡片
where 圖書編號 in(select 圖書編號 from 借閱 where datediff(year,借閱日期,getdate())>2)
go
12. 列出那些借了圖書逾期未歸還的借書證號和圖書名。
select A.讀者編號 as '借書證號',B.圖書名稱
from 讀者 as A inner join 圖書卡片 as B on A.圖書編號=B.圖書編號
where A.應歸還日期<getdate() and A.實際歸還日期 is null
go
13.今年未借過書的借書證。
select 讀者編號
from 讀者
where 讀者編號 not in(select 讀者編號
from 讀者
where datediff(year,借閱日期,getdate())=0)
go

14. 今年那種書出借最多?
select top 1 with ties A.類別,count(1) as '借出數量'
from 圖書卡片 A,借閱 B
where datediff(year,B.借閱日期,getdate())=0
group by A.類別
order by 借出數量' desc
go

⑥ 利用SQL查詢每一個雇員銷售圖書的數量

select 雇員基本信息表.姓名,sum(銷售數量) as 總銷售數量 from 雇員基本信息表,圖書零售表 where 雇員基本信息表.雇員編號=圖書零售表.雇員編號 group by 姓名

select 書名,作者,sum(銷售數量) as 銷售數量,sum(銷售數量)*單價 as 總金額 from 圖書零售表,圖書基本信息表 where 圖書零售表.圖書編號=圖書基本信息表.圖書編號 group by 書名,作者,單價

⑦ 如何用SQL設計書店收費管理系統,要有書信息管理、書費計算、收費單列印、按日或按月盤點等多項功能。

1.圖書類別表: 編號, 名稱, 父編號, 末級標志(0, 非末級標志,1,末級標志)
001 文學類 0 0
00101 英國文學 001 1
00102 中國文學 001 1
002 計算機類 0 0
00201 資料庫 002 1

等等。。。。。。。。。。。。。。
2.圖書檔案表: 圖書編號(條碼), 書名, 單價, 作者, 出版單位, 所屬類別

1111112 王子復仇記 1000.00 摩羯飛蛾撲火 某某 00101

等等。。。。。。。。
3.庫存量視圖 : 圖書編號 , 庫存數量
1111112 123
4.庫存期初表: 圖書編號 , 庫存數量
1111112 100
所謂期初表,就是在用你的這套系統前,要做一下盤點,點清各種圖書有多少本,放到這張表中。動態生成的庫存量視圖,就是 期初數量+進貨數量-銷售數量 得到的。

5. 采購入庫單(主子表)
主表 : 單據號, 采購時間, 供貨商, 所如倉庫,采購類型。。。。。。。。。
子表: 單據號,圖書編號,數量,采購價,。。。。。。。。。。。

6. 銷售表(主子表)
主表: 收費單號 ,時間,收費員。。。。。。。
子表; 單據號,圖書編號,數量,單價 , 折扣。。。。。。。。。

7. 盤點單 和 入庫銷售差不多的資料庫設計,它的作用主要是 點清實際數量和系統數量的差,做個調整,讓他們相等 , 如: 王子復仇記 庫存 100本,今天(或本月)賣了 30 本,系統統計庫存剩餘 70本。 但 有些讀書人認為偷書不算偷,順了 10本。實際庫存 60本,這樣就有差存在,在系統中要做 一張 盤虧的盤點單調整系統庫存量。

當然,要做到該系統實際可用,還有許多細節和表要設計,如果初學的話,設計好該系統不太可能。應安排設計某張表還差不多

⑧ 用SQL查詢語句 1,計算每個書店書籍的平均單價 2,計算各個地區書籍銷售總量 下面分別是銷售表,書店表

1.
select a.書店名, b.avg_unit_price as '平均單價'
from 書店表 a,(
select 書店編號, sum(總計金額)/sum(銷售總量) as avg_unit_price
from 銷售表
group by 書店編號 ) b
where a.書店編號=b.書店編號

2.
--不同的書店所屬的地區不同,所以不同地區就相當於不同的書店

select substring(1,4,a.書店名) as '地區', b.totalsales as '銷售總量'
from 書店表 a,(
select 書店編號, sum(銷售總量) as totalsales
from 銷售表
group by 書店編號 ) b
where a.書店編號=b.書店編號

⑨ SQL 圖書管理系統的查詢語句

1. 求總藏書量、藏書總金額,總庫存冊數、最高價、最低價。
select count(圖書編號) as 總藏書量,
sum(定價) as 藏書總金額,
sum(實際數量) as 總庫存冊數,
max(定價) as 最高價,
min(定價) as 最低價
from 圖書卡片
go
2. 列出藏書在10本以上的書(書名、作者、出版社、年份)。
select 圖書名稱,作者姓名,出版社,出版日期
from 圖書卡片
group by 圖書編號 having(coung(1)>10)
order by 圖書名稱
go
3. 哪些出版社的藏書種類數超過100種。
select 出版社 as '藏書種類數超過100種的出版社'
from 圖書卡片
group by 出版社 having(count(類別)>100)
order by 出版社
go
4. 目前實際已借出多少冊書?
select sum(借出數量) as '借出數量'
from 圖書卡片
go
5. 年份最久遠的書。
select top 1 with ties 圖書名稱 from 圖書卡片
order by 出版日期
go
6. 「資料庫系統原理教程,王珊編,清華大學出版社,1998年出版」還有幾本?
select count(1) from 圖書卡片
where concaints(摘要,'"資料庫系統原理教程,王珊編,清華大學出版社,1998年出版"')
go
7. 哪一年的圖書最多?
select top 1 with ties convert(substring(出版日期,1,4)) as 年份,count(1) as '圖書數量'
from 圖書卡片
group by 出版日期
order by 圖書數量 desc
go
8. 哪本借書證未歸還的圖書最多?
select top 1 with ties A.讀者編號,count(1) as '借書數量'
from 圖書卡片 A,借閱 B
where A.圖書編號=B.圖書編號
group by A.讀者編號
order by 借書數量 desc
go
9、平均每本借書證的借書冊數。
select avg(借閱數量) as '平均每本借書證的借書冊數'
from 借閱
go

10.哪個系的同學平均借書冊數最多?
select top 1 with ties A.工作單位,avg(借閱數量) as '平均借閱數量'
from 讀者 A,借閱 B
where A.讀者編號=B.讀者編號
group by A.工作單位
order by 平均借閱數量' desc
go

11. 最近兩年都未被借過的書。
select 圖書名稱
from 圖書卡片
where 圖書編號 in(select 圖書編號 from 借閱 where datediff(year,借閱日期,getdate())>2)
go
12. 列出那些借了圖書逾期未歸還的借書證號和圖書名。
select A.讀者編號 as '借書證號',B.圖書名稱
from 讀者 as A inner join 圖書卡片 as B on A.圖書編號=B.圖書編號
where A.應歸還日期<getdate() and A.實際歸還日期 is null
go
13.今年未借過書的借書證。
select 讀者編號
from 讀者
where 讀者編號 not in(select 讀者編號
from 讀者
where datediff(year,借閱日期,getdate())=0)
go

14. 今年那種書出借最多?
select top 1 with ties A.類別,count(1) as '借出數量'
from 圖書卡片 A,借閱 B
where datediff(year,B.借閱日期,getdate())=0
group by A.類別
order by 借出數量' desc
go