【DB2】根据映射表映射出结果

第一步:创建语法


CREATE TABLE OLIVER_MAP(ID INT,COM_TYPE VARCHAR(100),COM_NAME VARCHAR(100),SR_UP DECIMAL(18,2),

SR_LIM DECIMAL(18,2),RES VARCHAR(100));

INSERT INTO OLIVER_MAP(ID,COM_TYPE,COM_NAME,SR_UP,SR_LIM,RES)

VALUES(1,‘A1‘,‘A类小型公司‘,3000000,NULL,‘AS‘);

INSERT INTO OLIVER_MAP(ID,COM_TYPE,COM_NAME,SR_UP,SR_LIM,RES)

VALUES(2,‘A2‘,‘A类小型公司‘,3000000,NULL,‘AS‘);

INSERT INTO OLIVER_MAP(ID,COM_TYPE,COM_NAME,SR_UP,SR_LIM,RES)

VALUES(3,‘B1‘,‘B类大型公司‘,100000000,NULL,‘BB‘);

INSERT INTO OLIVER_MAP(ID,COM_TYPE,COM_NAME,SR_UP,SR_LIM,RES)

VALUES(4,‘B2‘,‘B类大型公司‘,100000000,NULL,‘BB‘);

INSERT INTO OLIVER_MAP(ID,COM_TYPE,COM_NAME,SR_UP,SR_LIM,RES)

VALUES(5,NULL,null,null,NULL,‘O‘);

第二步:创建测试数据进行测试

CREATE TABLE OLIVER_01(ID INT,COM_TYPE VARCHAR(100),SR DECIMAL(18,2),YQFL VARCHAR(10));

INSERT INTO OLIVER_01 VALUES(1,‘A1‘,30000000,‘O‘);

INSERT INTO OLIVER_01 VALUES(2,‘A2‘,30000000,‘O‘);

INSERT INTO OLIVER_01 VALUES(3,‘B1‘,100000000,‘BB‘);

INSERT INTO OLIVER_01 VALUES(4,‘B2‘,100000000,‘BB‘);

INSERT INTO OLIVER_01 VALUES(5,‘C‘,100000000,‘O‘);

INSERT INTO OLIVER_01 VALUES(6,‘A1‘,NULL,‘O‘);

INSERT INTO OLIVER_01 VALUES(7,‘A2‘,NULL,‘O‘);

INSERT INTO OLIVER_01 VALUES(8,‘B1‘,NULL,‘O‘);

INSERT INTO OLIVER_01 VALUES(9,‘B2‘,NULL,‘O‘);

INSERT INTO OLIVER_01 VALUES(10,‘A1‘,30000001,‘O‘);

第三步骤:查询结果

SELECT T.*

,(SELECT RES FROM OLIVER_MAP A

WHERE (A.COM_TYPE IS NULL OR A.COM_TYPE=T.COM_TYPE)

AND (A.SR_UP IS NULL OR A.SR_UP>=T.SR)

 AND (A.SR_LIM IS NULL OR A.SR_LIM<T.SR)

 ORDER BY A.ID FETCH FIRST ROW ONLY) AS RES

FROM OLIVER_01 T

OLIVER_01表数据

映射表数据

查询结构

该案例适用于存在映射表,然后根据映射表匹配得出结果!

时间: 2024-08-25 03:32:56

【DB2】根据映射表映射出结果的相关文章

SQLserver使用映射表进行数据相关操作

基本需求: 老数据有老数据的顺序编码规则,新数据有新数据的顺序编码规则,但是老数据的编码还是要更新相应的东西,新数据也得实时更新,在新数据中已经用新编码规则对老数据对进行编码,在上报表中既要新增新数据,也要更新老数据与现有数据.------------------------------------------------- --Author:Oliver QIN --Date:2015-11-07 --DESC:使用映射表对老数据进行更新 ---------------------------

Java实战之02Hibernate-04多表映射

十.多表映射 0.内容补充:数据完整性 作用:防止用户的误操作. 实体完整性:主键.用于确定表中唯一的一条记录. 域完整性:表中的字段. 数据类型约束: 非空约束: 唯一约束: 参照完整性: 多表设计:表之间的关系 一对多(用的最多的) 多对多(比较重要) 一对一(实际开发中,根本不用) 1.一对多关系映射(非常重要) 1.1.单向多对一映射 1 /** 2 * 客户的数据模型 3 * @author zhy 4 * 5 * 一个客户可以有多个订单 6 * 多个订单属于一个客户. 7 * 8 *

MFC 消息映射表和虚函数实现消息映射到底谁的效率高

深入浅出MFC对于虚函数实现方式的缺点,它指出:虚函数耗费大量内存,系统最终将被这些额外负担拖垮.    但是现在对于容量巨大的白菜价格的内存来说,这种额外负担是否已经过时了呢~?    书中提到,虚函数表中的每一个项目都是一个函数指针,价值4字节,如果基类的虚函数表有100项 (MFC里面的消息数量是否在这个数量级?),经过十层继承,开支散叶,总共需要耗费多少内存?    我粗略地算了下,不知道这种计算方法是否正确,4Byte*100项=400Byte.如果CCmdTarget中定义100个消

Hibernate 表映射 主键生成策略与复合主键

主要分析三点: 一.数据表和Java类的映射 : 二.单一主键映射和主键的生成策略 : 三.复合主键的表映射 : 一.数据表和Java类的映射  Hibernate封装了数据库DDL语句,只需要将数据表和类之间实现映射,即可对数据表进行操作. 示例:数据库中存在表interface_admin.ds_area,实现表和类之间映射,其中单一主键oggKeyId,使用主键自动生成策略UUID,具体第二点进行阐述 . package com.pec.model; import java.io.Seri

Hibernate在配置表映射文件时cascade的类型及意义

当关联双方存在父子关系,就可以在 set 处设定 cascade 为 all-delete-orphan 所谓父子关系,即指由父方控制子方的持久化圣明周期,子方对象必须和一个父方对象关联.如果删除父方对象,应该级联删除所有关联的子方对象:如果一个子方对象不再和一个父方对象关联,应该把这个子方对象删除. all-deleteorphan 的能力: 1. 当保存或更新父方对象时,级联保存或更新所有关联的子方对象,相当于 cascade 为 save-update 2. 当删除父方对象时,级联删除所有

java 散列与散列码探讨 ,简单HashMap实现散列映射表运行各种操作示列

package org.rui.collection2.maps; /** * 散列与散列码 * 将土拔鼠对象与预报对象联系起来, * @author lenovo * */ //土拨鼠 public class Groundhog { protected int number; public Groundhog(int n) { number=n; } @Override public String toString() { return "Groundhog #" + number

EF Code First 学习笔记:表映射

多个实体映射到一张表 Code First允许将多个实体映射到同一张表上,实体必须遵循如下规则: 实体必须是一对一关系 实体必须共享一个公共键 观察下面两个实体: public class Person { [Key] public int PersonId { get; set; } public int SocialSecurityNumber { get; set; } public string FirstName { get; set; } public string LastName

java 散列与散列码探讨 ,简单HashMap实现散列映射表执行各种操作示列

package org.rui.collection2.maps; /** * 散列与散列码 * 将土拔鼠对象与预报对象联系起来, * @author lenovo * */ //土拨鼠 public class Groundhog { protected int number; public Groundhog(int n) { number=n; } @Override public String toString() { return "Groundhog #" + number

YII类的映射表机制

<?php /** * Created by PhpStorm. * Date: 2016/5/25 * Time: 19:09 * * YII的类的映射表 */ namespace frontend\controllers; use Yii; use yii\web\Controller; //use frontend\models\Post; //作用被下面的classMap替换掉了 class HelloController extends Controller { public func