社区
MS-SQL Server
帖子详情
如何写这个存储过程,
kevin_w
2001-12-11 08:41:34
一个公司下属有N个子公司,须统计一些数据,,,
表A如下: 子公司代码 子公司名称 出口量 进口量 ···
com_code com_name ex_num im_num
另一表B 产品编号 进出口标志 ···· (产品编号的前两位为子公司代码)
en_id ie_mark
能否写一存储过程,在表B中按 子公司(即产品编号前两位)及进出口标志 统计出所有产品的总的 进口量出口量,再到表A 中更新其中数据
...全文
107
11
打赏
收藏
如何写这个存储过程,
一个公司下属有N个子公司,须统计一些数据,,, 表A如下: 子公司代码 子公司名称 出口量 进口量 ··· com_code com_name ex_num im_num 另一表B 产品编号 进出口标志 ···· (产品编号的前两位为子公司代码) en_id ie_mark 能否写一存储过程,在表B中按 子公司(即产品编号前两位)及进出口标志 统计出所有产品的总的 进口量出口量,再到表A 中更新其中数据
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kevin_w
2001-12-12
打赏
举报
回复
.....
kevin_w
2001-12-12
打赏
举报
回复
a 表结构如下
子公司代码 子公司名 出口量 进口量 ...
com_code com_name ex_num im_num ...
01 驻北京公司 NULL NULL ...
02 驻上海公司 NULL NULL ...
. . .
B 表结构如下
产品编号 进出口标志 ...
en_id ie_mark ...
0100023 I
0200212 I
0122222 I
0111111 E
0221111 I
...
EN_ID 的前两位即为 COM_CODE 出口量即为 所有IE_MARK=E的数据
现要写一存储过程分别统计 子公司代码为 01 02 03 ... 的进出口量,然后写入A表
kevin_w
2001-12-12
打赏
举报
回复
不好意思,未说清楚,进出口数量并不是表示某项产品的进出口总数,而是指所有该子公司内产品的进出口 次数 ,,相当于求B表中符合条件的 COUNT(*) ,
kevin_w
2001-12-12
打赏
举报
回复
不好意思,未说清楚,进出口数量并不是表示某项产品的进出口总数,而是指所有该子公司内产品的进出口次数,,相当于求B表中符合条件的 COUNT(*)
kevin_w
2001-12-12
打赏
举报
回复
不好意思,未说清楚,进出口数量并不是表示某项产品的进出口总数,而是指所有该子公司内产品的进出口次数,,相当于求B表中符合条件的 COUNT(*)
昵称被占用了
2001-12-12
打赏
举报
回复
写了两次表结构都没有写B表的进出口数量字段(第一次回答时用Num),难道没有这个字段?!
试过上面语句没有?加个过程头不就是可以一次更新A表的所有子公司,再从A表查询不就行了?
kevin_w
2001-12-12
打赏
举报
回复
循环处理是可以实现,不过数据量比较大,实现的速度很慢,能否有更有效的办法呢?
panther_totem
2001-12-12
打赏
举报
回复
你就用游标,对B表的数据一条一条的处理,根据en_id的前两个字符和ie_mark来对A表的数据进行UPDATE,修改其相应的ex_num 和 im_num,循环处理完了,ex_num 和 im_num不就累加得到了你需要的结果了。
昵称被占用了
2001-12-11
打赏
举报
回复
如果A表有所有子公司 AND B表有所有子公司 就可以!
kevin_w
2001-12-11
打赏
举报
回复
TO:Haiwer(海阔天空)
这样可以 统计 出所有 子公司的数据??好象不行···
昵称被占用了
2001-12-11
打赏
举报
回复
update a
set ex_num=(select sum(Num) from b
where en_id like rtrim(a.com_code)+'%' and ie_mark='e'),
im_num=(select sum(Num) from b
where en_id like rtrim(a.com_code)+'%' and ie_mark='I')
呵呵,示意性的!
150讲轻松学习Python网络爬虫
那么本课程也是按照这几个步骤循序渐进的进行讲解,带领学生完整的掌握每个步骤的技术。另外,因为爬虫的多样性,在爬取的过程中可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序的灵活性...
SQL Server数据库基础知识——数据库
存储过程
怎么
写
SQL Server数据库基础知识
存储过程
概述 什么是
存储过程
?
存储过程
的种类 如何创建、修改、删除、调用
存储过程
?
存储过程
的优缺点
存储过程
和触发器的区别?
存储过程
和函数的区别?
存储过程
的使用 1. 什么是
存储过程
?
存储过程
是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次。如果某次操作需要执行多次SQL,使用
存储过程
比单纯SQL语句执行要快。可以用一个“execute
存储过程
名 参数”命令来调用
存储过程
。 2.
存储过程
的种类
10分钟学会
写
一个简单的Mysql
存储过程
一、什么是
存储过程
二、
存储过程
怎么创建三、查看四、执行1、执行说明2、开始执行五、删除
存储过程
六、Mysql高版本:this is incompatible with sql_mode=only_full_group_by 问题 一、什么是
存储过程
存储过程
是一组为了完成特定功能的 SQL 语句集合。使用
存储过程
的目的是将常用或复杂的工作预先用 SQL 语句
写
好并用一个指定名称存储起来,这个过程经编译和优化后存储在数据库服务器中,因此称为
存储过程
。当以后需要数据库提供与已定义好的
存储过程
的功能相同的服务.
MySQL中的
存储过程
(详细篇)
概述 由MySQL5.0 版本开始支持
存储过程
。 如果在实现用户的某些需求时,需要编
写
一组复杂的SQL语句才能实现的时候,那么我们就可以将这组复杂的SQL语句集提前编
写
在数据库中,由JDBC调用来执行这组SQL语句。把编
写
在数据库中的SQL语句集称为
存储过程
。
存储过程
:(PROCEDURE)是事先经过编译并存储在数据库中的一段SQL语句的集合。调用
存储过程
可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是很有好处的。 就是数据库 SQL 语言层面的代码封装与.
什么是
存储过程
?为什么要
写
存储过程
一.什么是
存储过程
存储过程
,百度百科上是这样解释的,
存储过程
(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定
存储过程
的名字并给出参数(如果该
存储过程
带有参数)来调用
存储过程
。 简单的说就是专门干一件事一段sql语句。 可以由数据库自己去调用,也可以由java程序去调用。 在oracle数据库中
存储过程
是procedure。 二.为什么要
写
存储过程
1.效率高
存储过程
编译一次后..
MS-SQL Server
34,575
社区成员
254,583
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章