查找担保圈-step5-比较各组之间的成员,对组的包含性进行查询,具体见程序的注释-版本2
USE [test]
GO
/****** Object: StoredProcedure [dbo].[p03_get_groupno_e2] Script Date: 2019/7/8 15:01:22 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[p03_get_groupno_e2]
AS
BEGIN
--s3,比较各组的成员,对组进行清理,具体见程序的注释
SET STATISTICS TIME OFF;
SET STATISTICS IO OFF;
SET NOCOUNT ON;
DECLARE @get_max_groupno INT = 0;
SELECT @get_max_groupno = MAX(groupno)
FROM dbo.t01_get_group_path;
--预先清空dbo.t03_get_groupno表
TRUNCATE TABLE dbo.t03_get_groupno;
DECLARE @a INT = 1;
WHILE @a <= @get_max_groupno --最大的分组编号
BEGIN
DECLARE @b INT = @a + 1;
WHILE @b <= @get_max_groupno --最大的分组编号
BEGIN
DECLARE @p BIT = 0,
@q BIT = 0;
IF EXISTS
(
SELECT cust_name
FROM [dbo].[t02_get_group_member]
WHERE groupno = @a
EXCEPT
SELECT cust_name
FROM [dbo].[t02_get_group_member]
WHERE groupno = @b
)
SET @p = 1;
ELSE
SET @p = 0; IF EXISTS
(
SELECT cust_name
FROM [dbo].[t02_get_group_member]
WHERE groupno = @b
EXCEPT
SELECT cust_name
FROM [dbo].[t02_get_group_member]
WHERE groupno = @a
)
SET @q = 1;
ELSE
SET @p = 0;
IF (
@p >= 1
OR @p = 0
)
AND @q = 0 --第1,4种情况,集合a包括集合b的情况(a包括b但b不包括a,a=b两种情况,保留集合a的组号)
INSERT INTO dbo.t03_get_groupno
(
ctype,
iinclude_groupno,
ibeincluded_groupno
)
VALUES
('1,4', @a, @b);
ELSE IF @p = 0
AND @q >= 1 --第2种情况,集合b包括集合a,但集合a不包括集合b
INSERT INTO dbo.t03_get_groupno
(
ctype,
iinclude_groupno,
ibeincluded_groupno
)
VALUES
('', @b, @a); ELSE IF @p >= 1 --第三种情况,a和b存在交集但不完全相同,或者a和b完全不同
AND @q >= 1
BEGIN
INSERT INTO dbo.t03_get_groupno
(
ctype,
iinclude_groupno,
ibeincluded_groupno
)
VALUES
('', @a, 0),
('', @b, 0);
END;
SET @b = @b + 1;
END;
SET @a = @a + 1;
END;
END;
查找担保圈-step5-比较各组之间的成员,对组的包含性进行查询,具体见程序的注释-版本2的更多相关文章
- 查找担保圈-step1-担保圈表函数
USE [test]; GO /****** Object: UserDefinedFunction [dbo].[f_findrecycle] Script Date: 2019/7/8 14:37 ...
- 查找担保圈-step4-提取s1中担保圈路径中的成员
USE [test] GO /****** Object: StoredProcedure [dbo].[p02_get_group_member] Script Date: 2019/7/8 14: ...
- 查找担保圈-step3-获取担保圈路径
USE [test] GO /****** Object: StoredProcedure [dbo].[p01_get_group_path] Script Date: 2019/7/8 14:40 ...
- 查找担保圈-step7-提取未被包含过组的成员,得出结论
USE [test] GO /****** Object: StoredProcedure [dbo].[p05_get_group_member_cleared] Script Date: 2019 ...
- 查找担保圈-step6-对被包含过的组进行清理,只保留未被包含过的组
USE [test] GO /****** Object: StoredProcedure [dbo].[p04_get_groupno_cleared] Script Date: 2019/7/8 ...
- 查找担保圈-step2-拆分成员表函数
USE [test] GO /****** Object: UserDefinedFunction [dbo].[tf_split_char] Script Date: 2019/7/8 14:39: ...
- 关于CodeFirst异常:无法确定类型'XXX'和类型‘YYY’之间的关联的主体端,必须使用关系 Fluent API 或数据注释显式配置此关联的主体端。
此错误的原因是,你配置两个实体间的关系为一对一 然而我认为的一对一关系是,两者之间必须存在一个主体, 也就是说,你不能表1的外键是表2的主键并且表1的主键是表2的外键, 这样不符合数据库式吧? 我想多 ...
- Python全栈--9.1--面向对象进阶-super 类对象成员--类属性- 私有属性 查找源码类对象步骤 类特殊成员 isinstance issubclass 异常处理
上一篇文章介绍了面向对象基本知识: 面向对象是一种编程方式,此编程方式的实现是基于对 类 和 对象 的使用 类 是一个模板,模板中包装了多个“函数”供使用(可以讲多函数中公用的变量封装到对象中) 对象 ...
- C#外部类、内部类(嵌套类)之间的成员访问特点
最近程序中需要用到多线程工作下的单例模式.而其多种实现方法中,利用内部类实现懒汉模式是一种值得推荐的方式.顺便也就对内部类和外部类之间的关系做了一下研究,总结如下(理解不困难,不粘贴代码了,有需要的留 ...
随机推荐
- Poj 2887 Big String(块状数组)
Big String Time Limit: 1000MS Memory Limit: 131072K Description You are given a string and supposed ...
- 《30天自制操作系统》学习笔记--番外篇之Mac环境下的工具介绍
这几天又有点不务正业了,书也没看,一直在搞这个破环境,尝试各种做法,网上各种垃圾信息,浪费了很多时间,说的基本都是废话,不过还是找到了一些,赶紧写下来,不然这个过几天又忘了 首先是环境,我用的是Max ...
- vueApp打包
本地打包测试 http-server是一个基于node.js的简单的,零配置的命令行http服务器.安装:npm install http-server -g使用:http-server [path] ...
- Lua unpack函数用法
unpack,接受一个table做个参数,然后按照下标返回数组的所有元素 unpack lua 版本 <= 5.1 local t = {nil , 3} retunrn unpack(t) / ...
- redis快照关闭了导致不能持久化的问题
在使用redis的时候我们经常会遇到这种bug: Python与Redis交互时,设置数据出现下列报错信息: MISCONF Redis is configured to save RDB s ...
- ANDROID_ID
在设备首次启动时,系统会随机生成一个64位的数字,并把这个数字以16进制字符串的形式保存下来,这个16进制的字符串就是ANDROID_ID,当设备被wipe后该值会被重置.可以通过下面的方法获取: i ...
- LeetCode 最长公共前缀(探索字节跳动)
题目描述 编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串 "". 示例 1: 输入: ["flower","flow ...
- HearthBuddy炉石兄弟 格雷迈恩
getDecks(); 设置 private void getDecks() { Dictionary<string, int> tmpDeck = new Dictionary<s ...
- Javah提示未找到 ..的类
Javah相关错误,如下图所示:
- iOS UIBarButtonItem 固定尺寸
自定义UIBarButtonItem的时候发现 有时候UIBarButtonItem尺寸会发生变化 通过以下方式可以很好的解决问题 [button.widthAnchor constraintEqua ...