这样的sql语句怎样组建?

Arias 2005-12-07 10:09:09
有4个表 :
test1 test2 test3
id serviceid mocmd pid serviceid itemid serviceid itemid fsStr
25 1 'A' 25 1 1 1 1 'A'
26 1 'B' 26 1 1 1 1 'B'
27 1 'C' 27 1 1 1 1 'C'
28 1 'B' 28 1 1 1 1 ''
29 1 '' 29 1 1 1 2 'a'
30 1 '' 30 1 1 1 2 'b'
31 1 'a' 31 1 2 1 2 ''
32 1 'b' 32 1 2
33 1 '' 33 1 2

test4
itemid serviceid
1 1
2 1

其中3个表之间的关系是 :
test1.id = test2.pid
test1.serviceid = test2.serviceid = test3.serviceid
test2.itemid = test3.itemid
test3.itemid = test4.itemid




现在要统计在表test1 中 这些fsStr出现的百分率 ,按itemid serviceid分组的
希望得到的结果是 :
serviceid itemid fsStr num percent
1 1 'A' 1 1/(1+2+1+2)
1 1 'B' 2 2/6
1 1 'C' 1 1/6
1 1 '' 2 2/6
1 2 'a' 1 1/(1+1+1)
1 2 'b' 1 1/3
1 2 '' 1 1/3

不知道能否实现这样要求,希望高手指点!!!
...全文
102 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Arias 2005-12-07
  • 打赏
  • 举报
回复
谢谢 hfyang9095(嘿嘿哈) ( ) 的回复,的确可以实现我写的,但是实际上是没有实现全的,
如果在 test3 ,test4表中的数据是这样的话 :

test3 test4
1 1 'A' 1 1
1 1 'B' 2 1
1 1 'C' 3 1
1 1 ''
1 2 'a'
1 2 'b'
1 2 ''
1 3 'A'
1 3 'B'
1 3 ''

上面的话,那么需要得到的结果是 :

serviceid itemid fsStr num percent
1 1 'A' 1 1/(1+2+1+2)
1 1 'B' 2 2/6
1 1 'C' 1 1/6
1 1 '' 2 2/6
1 2 'a' 1 1/(1+1+1)
1 2 'b' 1 1/3
1 2 '' 1 1/3
1 3 'A' 0 0
1 3 'B' 0 0
1 3 '' 0 0

由于你写的语句没有联合test3个test4,所以如果在表test1和test2中没有出现的话,就不能正确显示了,不知道能否继续改写一下!谢谢!


lilygt 2005-12-07
  • 打赏
  • 举报
回复
学习
hfyang9095 2005-12-07
  • 打赏
  • 举报
回复
select x1.serviceid,x1.itemid,x1.mocmd,x1.num,x1.num/x2.all_num from
(select a.serviceid,b.itemid,a.mocmd,count(*) num from test1 a,test2 b
where a.id=b.pid and a.serviceid=b.serviceid
group by a.serviceid,b.itemid,a.mocmd) x1,
(select a.serviceid,b.itemid,count(*) all_num from test1 a,test2 b
where a.id=b.pid and a.serviceid=b.serviceid
group by a.serviceid,b.itemid) x2
where x1.serviceid=x2.serviceid and x1.itemid=x2.itemid
目录: 第1章 ASP.NET概述 1.1 .NET框架 1.1.1 .NET的设计目标 1.1.2 .NET框架的基本组成 1.2 ASP.NET简介 1.2.1 ASP.NET发展历史 1.2.2 ASP.NET技术背景 1.2.3 ASP.NET 运行机制 1.2.4 ASP.NET的脚本语言 1.2.5 ASP.NET与ASP比较 1.2.6 ASP.NET的优点 1.3 配置ASP.NET的运行环境 1.3.1 安装IIS 1.3.2 安装Visual Studio.NET 1.3.3 ASP.NET的配置 1.3.4 测试安装 1.4 Web窗体 1.5 HTML简介 1.5.1 HTML常用标记 1.5.2 表格的基本结构 本章小结 第2章 数据库管理 2.1 SQL Server 2000概述 2.1.1 SQL Server进化过程 2.1.2 SQL Server 2000的特性 2.1.3 SQL Server 2000新增特性 2.2 SQL Server 2000安装与配置 2.2.1 系统要求 2.2.2 安装步骤 2.3 SQL Server 2000常用工具 2.4 SQL语言 2.4.1 SQL语言的特点 2.4.2 SQL语言分类 2.4.3 SELECT语句 2.4.4 数据更改 2.4.5 汇总函数 2.5 使用企业管理器创建和管理表 2.5.1 创建表 2.5.2 约束 2.5.3 规则 2.5.4 默认值 2.5.5 修改表 2.5.6 删除表 2.6 与SQL Server数据库连接 2.7 操作SQL Server数据库 2.8 在SQL Server数据库中提取数据 本章小结 第3章 服务器控件 3.1 HTML服务器控件 3.1.1 HtmlInputFile控件 3.1.2 HtmlAnchor控件 3.1.3 HtmlTable、HtmlTableRow和HtmlTableCell控件 3.1.4 HtmlForm控件 3.1.5 HtmlButton控件 3.2 Web服务器控件 3.2.1 Label控件 3.2.2 TextBox控件 3.2.3 LinkButton控件 3.2.4 ImageButton控件 3.2.5 CheckBox控件 3.2.6 RadioButton控件 3.2.7 ListBox控件 3.2.8 Calendar控件 本章小结 第4章 新闻发布系统 4.1 系统设计 4.2 数据库设计 4.2.1 数据库的需求分析 4.2.2 数据库的结构设计 4.3 连接数据库和文件配置 4.4 系统实现 4.4.1 新闻首页面 4.4.2 新闻更多信息浏览页面 4.4.3 新闻详细信息查看页面 4.4.4 管理人员登录页面 4.4.5 管理首页面 4.4.6 增加新闻页面 4.4.7 编辑和删除新闻页面 4.5 系统演示 4.6 系统发布 本章小结 第5章 论坛系统 5.1 系统总体设计 5.1.1 系统功能描述 5.1.2 系统功能模块划分 5.2 数据库设计 5.2.1 数据库的需求分析 5.2.2 数据库的结构设计 5.2.3 连接数据库和文件配置 5.3 系统实现 5.3.1 页面头、尾部分的实现 5.3.2 论坛首页 5.3.3 注册页面 5.3.4 密码修改页面 5.3.5 论坛页面 5.3.6 查看文章页面 5.3.7 回复帖子页面 5.3.8 发表话题页面 5.4 系统演示 5.5 系统发布 本章小结 第6章 网上书店系统 6.1 系统设计 6.2 数据库设计 6.2.1 数据库的需求分析 6.2.2 数据库的结构设计 6.3 连接数据库和文件配置 6.4 系统实现 6.4.1 首页面 6.4.2 管理页面 6.4.3 用户注册页面 6.4.4 用户信息管理页面 6.4.5 添加新书页面 6.4.6 编辑和删除页面 6.4.7 高级搜索页面 6.4.8 订单信息页面 6.4.9 购物车页面 6.4.10 售出图书统计页面 6.5 系统演示 6.6 系统发布 本章小结 第7章 企业员工管理系统 7.1 系统总体设计 7.1.1 系统功能描述 7.1.2 系统功能模块划分 7.1.3 系统预览 7.2 数据库设计 7.2.1 设计数据库 7.2.2 创建数据库 7.2.3 配置系统Web.config 7.3 编写公共类 7.4 具体模块的实现 7.4.1 系统主框架页面的实现 7.4.2 登录页面的实现 7.4.3 添加用户页面 7.4.4 编辑员工基本档案的实现 7.4.5 员工职位变动页面的实现 7.4.6 员工个人档案页面的实现 7.4.7 员工信息查询页面的实现 7.5 系统的发布与维护 本章小结 第8章 学生信息管理系统 8.1 系统设计 8.2 数据库设计 8.2.1 数据库的需求分析 8.2.2 数据库的结构设计 8.3 连接数据库和文件配置 8.4 系统实现 8.4.1 登录页面 8.4.2 用户控件 8.4.3 主页面 8.4.4 学生信息页面 8.4.5 添加页面 8.4.6 编辑和删除页面 8.4.7 成绩页面 8.4.8 课程信息页面 8.4.9 密码修改页面 8.5 系统演示 8.6 系统发布 本章小结 第9章 图书管理系统 9.1 系统总体设计 9.1.1 系统功能描述 9.1.2 系统功能模块划分 9.2 数据库设计 9.2.1 数据库的需求分析 9.2.2 数据库的结构设计 9.2.3 连接数据库和文件配置 9.3 系统实现 9.3.1 图书查询主页面 9.3.2 图书高级查询页面 9.3.3 用户登录页面 9.3.4 读者信息页面 9.3.5 查阅借阅信息页面 9.3.6 修改密码页面 9.3.7 图书借阅页面 9.3.8 图书归还页面 9.3.9 权限维护页面 9.4 系统演示 9.5 系统发布 本章小结

17,081

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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