首先是创建存储过程.
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 $$
分享到:
相关推荐
其中,`CREATE OR REPLACE FUNCTION` 用于创建或替换一个存储过程;`过程名` 是存储过程的名称;`参数名` 和 `参数类型` 是存储过程的参数列表;`RETURNS` 用于指定存储过程的返回值类型;`AS` 和 `$body$` 用于标记...
例如,创建一个存储过程来检索学生基本信息,另一个存储过程来检索成绩等。学生需要掌握如何创建存储过程、如何使用 Transact-SQL 语句编写存储过程的方法。 知识点二:Transact-SQL 语句 Transact-SQL 语句是 SQL...
今天,我们将创建一个存储过程,以员工号为参数,返回该员工的工作年限。 存储过程的定义 在 Oracle 中,存储过程的定义格式为: ```sql CREATE OR REPLACE PROCEDURE 过程名 (参数列表) AS 声明部分 BEGIN 执行...
为了实现定时更新数据,我们需要编写一个存储过程,该过程包含必要的SQL更新语句。例如,以下是一个简单的示例: ```sql CREATE OR REPLACE PROCEDURE update_data AS BEGIN UPDATE your_table SET column = new_...
下面是一个示例,展示了如何在一个存储过程中使用自主事务来插入数据并回滚: ```sql CREATE TABLE AAA ( PAYNUMBER NUMBER ); CREATE OR REPLACE PROCEDURE P2 AS BEGIN -- 指定为自主事务 PRAGMA AUTONOMOUS_...
这个存储过程使用了两个参数,一个是课程号`@课程号`,另一个是人数`@人数`。我们可以使用以下语句来调用这个存储过程: ```sql declare @人数 int, @课程号 char(4) set @课程号 = '002' exec bb @课程号, @人数 ...
例如,我们可以创建一个简单的存储过程,接受一个整数参数并返回它的平方: ```sql CREATE PROCEDURE square(IN num INT, OUT result INT) BEGIN SET result = num * num; END; ``` 3. **调用存储过程** ...
INSERT_语句生成器.sql 一个存储过程- INSERT_语句生成器.sql 生成表INSERT插入语句SQL,INSERT_语句生成器.sql
读取操作可能涉及一个简单的SELECT语句,通过存储过程返回数据,然后在DataWindow中展示。更新操作则可能包括一个UPDATE语句,结合WHERE子句来定位特定行,然后更改该字段的值。 例如,一个简单的读取存储过程可能...
此外,存储过程可以设置参数,可以根据传入参数的不同重复使用同一个存储过程,从而高效的提高代码的优化率和可读性。最后,存储过程的安全性高,可以设定只有某些用户才具有对指定存储过程的使用权。 存储过程有三...
存储过程支持参数输入输出、返回单个或多个结果集以及返回值,甚至可以在一个存储过程中嵌套调用其他存储过程。 在SQL Server中,根据定义主体的不同,存储过程主要分为三类: 1. **系统存储过程**:这些是SQL ...
存储过程是数据库管理系统中的一个重要组成部分,它是一组为了完成特定功能的SQL语句集合,预编译后存储在数据库中,可以按需调用,提高了数据操作的效率和安全性。本文将围绕“执行存储过程的代码和数据库脚本”这...
MySQL存储过程是数据库管理系统中的一种重要功能,它允许开发者预编译一系列的SQL语句,形成一个可重复使用的代码块,以提高数据处理的效率和应用程序的性能。在这个"MySQL存储过程学习"的主题中,我们将深入探讨...
实验报告中,你需要详细记录每个存储过程的创建SQL语句,以及执行存储过程后的结果截图。此外,实验报告应包括实验设计思路、遇到的技术问题及解决方法、实验过程的详细描述,以及个人的分析、建议和体会。 确保...
在ASP.NET中,我们可以创建一个存储过程来处理分页查询,这样可以将复杂的逻辑移出应用程序代码,放入数据库层面。 以下是一个通用的分页存储过程示例,适用于SQL Server 2000: ```sql CREATE PROCEDURE ...
例如,一个电子商务系统可能有一个存储过程用于处理订单,该过程可能首先通过视图获取客户的最新订单状态,然后根据这些信息进行进一步的业务处理。 总之,存储过程和视图的结合使用是数据库设计中的一种强大工具,...
在大型项目中,有时候需要重复执行能够完成特定功能的SQL语句集,而MySQL为我们提供了存储过程的概念,存储过程是数据库中的一个重要对象,它是存储在数据库中的一组完成特定功能的SQL语句集。它第一次编译后,...
4. 多语句事务型存储过程:在一个存储过程中执行多个语句,保证事务的原子性。 六、存储过程的调试与优化 DB2提供了一些工具和特性来帮助调试和优化存储过程,如SQL诊断包、EXPLAIN计划等,以确保其高效运行。 七...
本篇文章将详细介绍如何在Delphi中调用Oracle数据库中的存储过程,并通过一个具体的例子来展示整个过程。 #### Oracle存储过程创建 首先,我们需要在Oracle数据库中创建一个存储过程。以下是一个示例存储过程`pkg_...
在这个场景中,我们关注的是一个名为"银行转账存储过程"的特定应用,它是针对银行转账业务逻辑的实现。这个存储过程主要用于模拟银行账户之间的转账操作,并包含了登录验证、转账处理以及事务管理等关键功能。 首先...