如何连接两个以上的表进行报表统计!

Lin2000y 2003-10-09 06:41:39
例如有三个或者更多,
A:库存
B:销售
C:生产
。。。。。

每个表都有一个字段:产品型号,产品颜色(码数等)

我想要的结果是在同一个检索结果里面按照产品型号(颜色)对数据进行汇总,要求每一个数据行都要有一个库存数、销售数、生产数,同时只要是在这三个表中出现过的产品型号(颜色或者码数)都要有一个统计行,不论其他数是否为空,
我想请问一下,我该怎样对这些表进行联接呢。

我想理论是以下这个连接方式是可行的但是我有试过,就是出现有的数据会漏掉

库存.产品型号=销售.产品型号
销售.产品型号=生产.产品型号

(AND 库存.颜色=销售.颜色
 销售.颜色=生产.颜色)
(AND 库存.码数=销售.码数
 销售.码数=生产.码数)

请赐教!
...全文
473 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Lin2000y 2003-10-09
  • 打赏
  • 举报
回复
我这有个例子:

SELECT dbo.库存.款号, dbo.库存.颜色, dbo.库存.码数, dbo.库存.仓库进货量, dbo.补货.总补货,
dbo.产量.生产量
FROM dbo.库存 FULL OUTER JOIN
dbo.补货 ON dbo.库存.款号 = dbo.补货.款号 AND dbo.库存.颜色 = dbo.补货.颜色 AND
dbo.库存.码数 = dbo.补货.码数 FULL OUTER JOIN
dbo.产量 ON dbo.库存.款号 = dbo.产量.款号 AND dbo.库存.颜色 = dbo.产量.颜色 AND
dbo.库存.码数 = dbo.产量.码数
WHERE (dbo.库存.款号 = '3081A')

在产量表里有四个记录,其他表都是三个记录我用了外联接,结果却还是只有三个?
以下是运行出来的结果:

款号 颜色 码数 进货量 总补货 生产量
3081A 78 L 18.0000 3 48
3081a 78 M 18.0000 3 48
3081A 78 S 8.0000 2 24

应该还有一个记录是:
3081A 78 XL 5

大力兄帮帮忙

pengdali 2003-10-09
  • 打赏
  • 举报
回复
举例:

declare @a table(a int,b int)
declare @b table(a int,b int)
insert @a values(1,1)
insert @a values(2,2)
insert @b values(1,1)
insert @b values(3,3)

--左:
select * from @a Aa left join @b Bb on Aa.a=Bb.a
--右:
select * from @a Aa right join @b Bb on Aa.a=Bb.a
--内
select * from @a Aa join @b Bb on Aa.a=Bb.a
--外
select * from @a Aa full join @b Bb on Aa.a=Bb.a
--完全
select * from @a,@b
pengdali 2003-10-09
  • 打赏
  • 举报
回复
select * from 库存 full join 销售 on 库存.产品型号=销售.产品型号 full join 生产 on 销售.产品型号=生产.产品型号
酒店管理系统分为前台和后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形的形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据库管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据库配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧