Mysql实现版本:
create table project(id varchar(10),name varchar(10));
create table hetong(id varchar(10),projectid varchar(10),hetongkuan varchar(10));
create table inmoney(id varchar(10),hetongid varchar(10),money varchar(10));
insert into project values("1","pro1");
insert into project values("2","pro2");
insert into project values("3","pro3");
insert into hetong values("1","1",1000);
insert into hetong values("2","1",2000);
insert into hetong values("3","2",3000);
insert into inmoney values("1","1",500);
insert into inmoney values("2","1",300);
insert into inmoney values("3","2",200);
insert into inmoney values("4","2",300);
insert into inmoney values("5","3",100);
一个项目有多个合同,一个合同有多个收款记录
(1)每个项目的和同款总数结果
select project.id,project.name,sum(hetong.hetongkuan)
from project left join hetong on project.id=hetong.projectid
group by hetong.projectid
order by project.id;
--------------------------
编号 名称 总合同款
1 pro1 3000
2 pro2 3000
3 pro3 null
--------------------------
(2)每个项目已收款总数结果
select project.id,project.name,sum(inmoney.money)
from project,hetong,inmoney
where project.id=hetong.projectid and hetong.id=inmoney.hetongid
group by hetong.projectid;
---------------------------
编号 名称 合同已收款
1 pro1 1300
2 pro2 100
3 pro3 null
---------------------------
(3)每个项目合同总数,已收总数结果
select aa.id,aa.name,sum(aa.hetongkuan),sum(aa.a) from (select project.id,project.name,hetong.hetongkuan,sum(inmoney.money) as a
from project,hetong,inmoney
where project.id=hetong.projectid and hetong.id=inmoney.hetongid
group by inmoney.hetongid) as aa
group by aa.id
---------------------------
编号 名称 总合同款 合同已收款
1 pro1 3000 1300
2 pro2 3000 100
---------------------------
Oracle实现版本:
drop table project;
drop table hetong;
drop table inmoney;
create table project(id varcha2r(10),name varchar2(10));
create table hetong(id varchar2(10),projectid varchar2(10),hetongkuan number(10));
create table inmoney(id varchar(10),hetongid varchar2(10),money number(10));
insert into project values('1','pro1');
insert into project values('2','pro2');
insert into project values('3','pro3');
insert into hetong values('1','1',1000);
insert into hetong values('2','1',2000);
insert into hetong values('3','2',3000);
insert into inmoney values('1','1',500);
insert into inmoney values('2','1',300);
insert into inmoney values('3','2',200);
insert into inmoney values('4','2',300);
insert into inmoney values('5','3',100);
(1)
select p.id,p.name,sum(h.hetongkuan)
from project p
left outer join hetong h
on p.id=h.projectid
group by p.id,p.name;
(2)
select project.id,project.name,sum(inmoney.money)
from project,hetong,inmoney
where project.id=hetong.projectid and hetong.id=inmoney.hetongid
group by project.id,project.name;
(3)
select aa.id,aa.name,sum(aa.hetongkuan),sum(aa.a) from (select p.id,p.name,h.hetongkuan,sum(m.money) as a
from project p,hetong h,inmoney m
where p.id=h.projectid and h.id=m.hetongid
group by p.id,p.name,h.hetongkuan) aa
group by aa.id,aa.name;
分享到:
相关推荐
ORACLE,sql server笔试题目+答案,有需要的朋友可以下载下来作为公司笔试的试卷
常见的SQL笔试选择题含答案.docx,常见的SQL笔试选择题含答案.docx 常见的SQL笔试选择题含答案.docx,常见的SQL笔试选择题含答案.docx
SQL_Server 面试笔试试题及答案 经典SQL数据库 DBA数据库管理员 数据库优化人员面试题
10家互联网大厂SQL笔试题目和答案合集,用来练手、学习、测试等等都非常适合
题目包含:1.基本SQL-SELECT语句 2.过滤和排序数据 3.单行函数 4.多表查询 5.分组函数 6.子查询 7.创建和管理表 8.数据处理 9.约束 10.视图 11.数据库对象 12.企业sql笔试题目 等
10家互联网大厂SQL笔试题目和答案合集_60页_0926
SQLServer考试题及答案 选择题: 1、在MS SQL Server中,用来显示数据库信息的系统存储过程是( ) A sp_ dbhelp B sp_ db C sp_ help D sp_ helpdb 2、SQL语言中,删除一个表的命令是( ) A DELETE B DROP C ...
文章Hive面试题SQL测试题目所需数据,包含建表语句 测试数据等等...................
50道SQL练习题及答案与详细分析(题目和数据初始化) 50道SQL练习题及答案与详细分析(01~05) 50道SQL练习题及答案与详细分析(06~10) 1.查询”01″课程比”02″课程成绩高的学生的信息及课程分数. SELECT ...
中国人民银行计算机专业笔试题目+答案 在内容上囊括了计算机专业的所有课程,C语言、面向对象、数据库、数据结构、操作系统、计算机组成原理、编译原理、多媒体技术、计算机网络、离散数学、设计模式都考了。类容...
SQL数据库面试题目及其答案.doc
只有题目 木有答案 请谅解 敝人尽自己最大努力回忆出来的哦
sql面试题及答案。包括Oracle和SQL Server数据库应用主要知识点
一套比较全面的sql2000笔试题目(附答案)
昨天晚上参加了理光的笔试,时间两个小时分技术50选择英语35选择 网络,JAVA,sql,c,OO,Linux方面
面试题:介绍mysql搜索引擎,主从配置描述,分库分表的介绍,mysql优化描述,数据备份方案,sql注入,事务,mysql线上部署用户的什么版本(线上需要空间付费,了解一下),熟悉的数据库高可用架构,索引,主键,唯一...
ORACLE数据库笔试题及答案
50道SQL练习题及答案与详细分析 数据表介绍 –1.学生表 Student(SId,Sname,Sage,Ssex) –SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 –2.课程表 Course(CId,Cname,TId) –CId 课程编号,Cname 课程...
跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业必读的324个JAVA面试题.pdf 阿里2015实习生-客户端笔试题目解析.docx 面试帮-IT面试宝典.apk 面试题 面试题库 高吞吐低延迟Java应用的垃圾回收优化....
跳还是不跳,是一个问题——跳槽时该如何权衡?.docx 进入IT企业必读的324个JAVA面试题.pdf 阿里2015实习生-客户端笔试题目解析.docx 面试帮-IT面试宝典.apk 面试题库 高吞吐低延迟Java应用的垃圾回收优化.docx 黑马...