首先是创建存储过程.
DROP PROCEDURE IF EXISTS `ExternalCallToComplete`;
DELIMITER $$
CREATE PROCEDURE ExternalCallToComplete()
BEGIN
DROP TABLE IF EXISTS `temp1`;
CREATE TABLE temp1
AS
SELECT s.name "问卷调查名",
SUM(CASE WHEN sa.submit_type_id='1' THEN 1 ELSE 0 END) "调查成功" ,
SUM(CASE WHEN sa.submit_type_id='2' THEN 1 ELSE 0 END) "同意开通" ,
SUM(CASE WHEN sa.submit_type_id='3' THEN 1 ELSE 0 END) "空号" ,
SUM(CASE WHEN sa.submit_type_id='4' THEN 1 ELSE 0 END) "总机" ,
SUM(CASE WHEN sa.submit_type_id='5' THEN 1 ELSE 0 END) "传真" ,
SUM(CASE WHEN sa.submit_type_id='6' THEN 1 ELSE 0 END) "停机" ,
SUM(CASE WHEN sa.submit_type_id='7' THEN 1 ELSE 0 END) "占线" ,
SUM(CASE WHEN sa.submit_type_id='8' THEN 1 ELSE 0 END) "用户关机" ,
SUM(CASE WHEN sa.submit_type_id='9' THEN 1 ELSE 0 END) "无人接听" ,
SUM(CASE WHEN sa.submit_type_id='10' THEN 1 ELSE 0 END) "外呼失败" ,
SUM(CASE WHEN sa.submit_type_id='11' THEN 1 ELSE 0 END) "黑名单" ,
SUM(CASE WHEN sa.submit_type_id='12' THEN 1 ELSE 0 END) "无法接通" ,
SUM(CASE WHEN sa.submit_type_id='13' THEN 1 ELSE 0 END) "欠费停机" ,
SUM(CASE WHEN sa.submit_type_id='14' THEN 1 ELSE 0 END) "主动挂机" ,
SUM(CASE WHEN sa.submit_type_id='15' THEN 1 ELSE 0 END) "隔日联系" ,
SUM(CASE WHEN sa.submit_type_id='16' THEN 1 ELSE 0 END) "接通后拒绝" ,
SUM(CASE WHEN sa.submit_type_id='17' THEN 1 ELSE 0 END) "拒绝调查" ,
SUM(CASE WHEN sa.submit_type_id='18' THEN 1 ELSE 0 END) "接通后考虑" ,
SUM(CASE WHEN sa.submit_type_id='19' THEN 1 ELSE 0 END) "接通后主动挂机"
FROM submit_answer AS sa LEFT JOIN survey AS s ON s.id = sa.survey_id GROUP BY sa.survey_id ;
DROP TABLE IF EXISTS `temp2`;
CREATE TABLE temp2
as
SELECT 问卷调查名 "a", (调查成功+同意开通+空号+总机+传真+停机+占线+用户关机+无人接听+外呼失败+黑名单+无法接通+欠费停机+主动挂机+隔日联系+接通后拒绝+拒绝调查+接通后考虑+接通后主动挂机)
"b",
调查成功 "c",
调查成功/(调查成功+同意开通+空号+总机+传真+停机+占线+用户关机+无人接听+外呼失败+黑名单+无法接通+欠费停机+主动挂机+隔日联系+接通后拒绝+拒绝调查+接通后考虑+接通后主动挂机)
"d",
主动挂机+隔日联系+接通后考虑
"e",
主动挂机+隔日联系+接通后考虑 /(调查成功+同意开通+空号+总机+传真+停机+占线+用户关机+无人接听+外呼失败+黑名单+无法接通+欠费停机+主动挂机+隔日联系+接通后拒绝+拒绝调查+接通后考虑+接通后主动挂机)
"f",
接通后拒绝+拒绝调查+接通后主动挂机
"g",
(接通后拒绝+拒绝调查+接通后主动挂机) /(调查成功+同意开通+空号+总机+传真+停机+占线+用户关机+无人接听+外呼失败+黑名单+无法接通+欠费停机+主动挂机+隔日联系+接通后拒绝+拒绝调查+接通后考虑+接通后主动挂机)
"h"
FROM temp1 ;
end $$
分享到:
相关推荐
例如,创建一个存储过程来检索学生基本信息,另一个存储过程来检索成绩等。学生需要掌握如何创建存储过程、如何使用 Transact-SQL 语句编写存储过程的方法。 知识点二:Transact-SQL 语句 Transact-SQL 语句是 SQL...
标题“sql分页存储过程(无论那个表,表中有多少字段都可以用这一个存储过程)”明确指出这是一个适用于任何表结构的分页查询存储过程,无论表中有多少个字段,均能通过此存储过程进行高效的数据分页操作。...
为了实现定时更新数据,我们需要编写一个存储过程,该过程包含必要的SQL更新语句。例如,以下是一个简单的示例: ```sql CREATE OR REPLACE PROCEDURE update_data AS BEGIN UPDATE your_table SET column = new_...
这个存储过程使用了两个参数,一个是课程号`@课程号`,另一个是人数`@人数`。我们可以使用以下语句来调用这个存储过程: ```sql declare @人数 int, @课程号 char(4) set @课程号 = '002' exec bb @课程号, @人数 ...
INSERT_语句生成器.sql 一个存储过程- INSERT_语句生成器.sql 生成表INSERT插入语句SQL,INSERT_语句生成器.sql
读取操作可能涉及一个简单的SELECT语句,通过存储过程返回数据,然后在DataWindow中展示。更新操作则可能包括一个UPDATE语句,结合WHERE子句来定位特定行,然后更改该字段的值。 例如,一个简单的读取存储过程可能...
此外,存储过程可以设置参数,可以根据传入参数的不同重复使用同一个存储过程,从而高效的提高代码的优化率和可读性。最后,存储过程的安全性高,可以设定只有某些用户才具有对指定存储过程的使用权。 存储过程有三...
存储过程支持参数输入输出、返回单个或多个结果集以及返回值,甚至可以在一个存储过程中嵌套调用其他存储过程。 在SQL Server中,根据定义主体的不同,存储过程主要分为三类: 1. **系统存储过程**:这些是SQL ...
存储过程是数据库管理系统中的一个重要组成部分,它是一组为了完成特定功能的SQL语句集合,预编译后存储在数据库中,可以按需调用,提高了数据操作的效率和安全性。本文将围绕“执行存储过程的代码和数据库脚本”这...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...
存储过程是一组预先编写的SQL语句,它允许用户像调用函数一样重复执行,提高了数据库操作的效率和安全性。 首先,理解存储过程的分类至关重要。存储过程分为系统存储过程、用户自定义存储过程和扩展存储过程。系统...
实验报告中,你需要详细记录每个存储过程的创建SQL语句,以及执行存储过程后的结果截图。此外,实验报告应包括实验设计思路、遇到的技术问题及解决方法、实验过程的详细描述,以及个人的分析、建议和体会。 确保...
在本例中,我们关注的是如何在C#中调用一个存储过程来实现图书的删除操作。下面将详细介绍如何创建、执行和管理这样的存储过程,以及如何在C#中调用它。 1. 创建存储过程: 在SQL Server中,我们可以使用`CREATE ...
例如,一个电子商务系统可能有一个存储过程用于处理订单,该过程可能首先通过视图获取客户的最新订单状态,然后根据这些信息进行进一步的业务处理。 总之,存储过程和视图的结合使用是数据库设计中的一种强大工具,...
在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,...
4. 多语句事务型存储过程:在一个存储过程中执行多个语句,保证事务的原子性。 六、存储过程的调试与优化 DB2提供了一些工具和特性来帮助调试和优化存储过程,如SQL诊断包、EXPLAIN计划等,以确保其高效运行。 七...
SQL Server存储过程是数据库管理系统中预编译的SQL语句集合,它允许开发人员封装一系列复杂的操作,并在需要时作为一个单元执行。存储过程是数据库设计和应用开发中的关键组件,可以提升性能、增强安全性并简化代码...
oracle 是一个功能强大的关系型数据库管理系统,可以执行各种复杂的任务,其中包括定时执行存储过程。定时执行存储过程可以让 oracle 自动执行某些操作,而不需要人工干预。下面我们将详细讲解 oracle 中的定时执行...
在IT行业中,数据库管理和开发是不可或缺的部分,而存储过程作为数据库中的一个重要概念,扮演着提升性能、封装复杂逻辑和提供安全性的角色。本示例是一个针对初学者的C#编程结合VS2010(Visual Studio 2010)与SQL ...
假设我们需要创建一个存储过程,用于查询员工表中的所有记录: ```sql CREATE PROCEDURE GetEmployees AS BEGIN SELECT * FROM Employees; END; ``` 调用这个存储过程的方式为: ```sql EXEC GetEmployees; ``` ...