`
xuming9
  • 浏览: 26323 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
最近访客 更多访客>>
社区版块
存档分类
最新评论

一道SQL算法

阅读更多
/********************************
select * from A;             
ID       YS
-------------------------
01       A
02       AB
03       CAB
04       ABCD
select * from B;
DM       YS
-------------------------
A          白
B          黑
C          红
D          蓝

想得到结果:
-------------------------
01       白
02       白黑
03       红白黑
04       白黑红蓝
************************************/


CREATE TABLE A (ID  VARCHAR(2),YS  VARCHAR(5));

INSERT INTO A VALUES  ('01','A');
INSERT INTO A VALUES  ('02','AB');
INSERT INTO A VALUES  ('03','CAB');
INSERT INTO A VALUES  ('04','ABCD');

CREATE TABLE B (DM VARCHAR(1),YS  VARCHAR(2));
INSERT INTO B VALUES ('A','白');
INSERT INTO B VALUES ('B','黑');
INSERT INTO B VALUES ('C','红');
INSERT INTO B VALUES ('D','蓝');

select * from a

select * from b

---使用游标
DECLARE @ID  VARCHAR(2)
DECLARE @YS  VARCHAR(5)
DECLARE @i INT
DECLARE @B_TMP VARCHAR(5)
DECLARE @A_COLOR VARCHAR(15)
DECLARE myCursor CURSOR

FOR 
    SELECT * FROM A
OPEN myCursor
FETCH NEXT FROM myCursor INTO @ID,@YS

WHILE (@@FETCH_STATUS <> -1)
BEGIN
    SET @i=1
    SET @B_TMP=''
    SET @A_COLOR=''
    WHILE @i<=LEN(@YS)
    BEGIN
        SELECT @B_TMP=YS FROM B WHERE DM=SUBSTRING(@YS,@i,1)
        SET @A_COLOR=@A_COLOR+@B_TMP
        SET @i=@i+1
    END
    PRINT @ID+'     '+@A_COLOR
    FETCH NEXT FROM myCursor INTO @ID,@YS
END

CLOSE myCursor
DEALLOCATE myCursor

分享到:
评论

相关推荐

    基于免疫机理的SQL注入攻击检测与防护算法.pdf

    本文提出的基于免疫机理的SQL注入攻击检测与防护算法,对于当前网络安全领域面临的一个严峻问题——SQL注入攻击(SQL Injection Attacks, 简称SQLIAs)具有重要意义。SQLIAs是一种通过恶意构造的SQL语句,侵入Web...

    阿里巴巴2016算法工程师附加题

    题目中涉及到了SQL查询语句,这是一道典型的SQL查询题。题目要求从表`a`中按照`city`分组,计算每个城市的总金额`amt`,并筛选出总金额大于0的城市,最后返回这些城市的`buyer_id`和总金额。 **SQL语句解析:** ``...

    SQL加密.docx

    SQL Server 提供了比如:DES、Triple DES、TRIPLE_DES_3KEY、RC2、RC4、128位 RC4、DESX、128 位 AES、192 位 AES 和 256 位 AES 这些加密算法,没有某种算法能适应所有要求,每种算法都有长处和短处。 SQL Server ...

    随机抽题算法的实现

    生成的随机数应当在整个取值范围内均匀分布,这样才能确保试题库中的每一道题目都有相同的被抽取概率。 ##### 2.2 生成速度快 由于网上考试系统是实时运行的,因此随机数的生成速度对于整个系统的响应时间和用户...

    MSSQLRecovery v1.5 超强的SQL数据库恢复软件

    《MSSQLRecovery v1.5:数据库恢复利器详解》 在信息技术领域,数据库的稳定性和安全性至关重要。...对于那些依赖SQL Server的企业和个人而言,拥有这样一款工具无疑为数据安全添加了一道坚实的防线。

    SQL Server数据加密功能解析

    数据加密是数据库被破解、物理介质被盗、备份被窃取的后一道防线,数据加密,一方面解决数据被窃取安全问题,另一方面有关法律要求强制加密数据。SQL Server 的数据加密相较于其他数据库,功能相对完善,加密方法较...

    带加减算法的智能验证asp.net

    智能验证通常涉及JavaScript,用于提供即时反馈,而服务器端验证则作为最后一道防线,防止恶意或无效的数据进入服务器。 3. **自定义控件和用户控件**:为了实现这种功能,开发者可能会创建自定义的ASP.NET控件,...

    海量用户积分排名算法探讨

    PS:据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的理想环境。首先,我们用一张用户积分表user_score来保存用户的积分信息。表结构:示例数据:下面...

    java的一道考试题

    10. **JDBC**:数据库操作是许多应用的基础,JDBC API的使用,如连接数据库、执行SQL语句、处理结果集等,也可能成为考试内容。 11. **设计模式**:如单例模式、工厂模式、观察者模式等,设计模式是解决常见问题的...

    百度之星十年试题集

    - **算法分析**:这是一道经典的组合优化问题,可以通过回溯法或动态规划来解决。 - **初赛第三题:变态的比赛规则** - **题目描述**:设计一种特殊的比赛规则,使得每个选手都能参与进来。 - **算法分析**:此类...

    leetcode题库-Hall:算法问题分析库

    每日一题是在交流群(QQ或其他)里进行的一种活动,大家在一起共解一道题,这样讨论问题更加集中,会得到更多的反馈。而且这些题目可以被记录下来,日后会进行筛选添加到仓库的题解模块; 精选算法/文章推荐; 计划 ...

    上海网约车考试 -上海卷 程序员程序化试卷 程序考卷 真题

    算法是程序员的核心竞争力之一,考试可能涉及排序算法(快速排序、归并排序、冒泡排序等)、查找算法(二分查找、哈希查找等)、图论问题(最短路径、拓扑排序等)和动态规划等。例如,一道题目可能会要求实现一个...

    lintcode题解

    - **MergekSortedLists(合并K个排序链表)**:这是一道合并多个有序链表的问题,可以使用优先队列(最小堆)来解决。 - **LinkedListCycle(链表环)**:检测链表中是否存在环,可以使用快慢指针的方法。 - **...

    实验三 2题.rar

    如果这是一道编程题,可能需要我们理解并实现某种算法,比如排序算法(冒泡排序、快速排序)、搜索算法(二分查找、深度优先搜索)或者是数据结构的应用(链表、树、图)。 如果是网络相关的,可能需要了解TCP/IP...

    基于Java的自动组卷系统的实现.PDF

    而试题基本信息表则记录了每一道试题的具体内容,如试题ID、试题内容、选项以及答案等。 ##### 3.2 组卷算法 组卷算法是整个自动组卷系统的核心。在生成新试卷时,首先需要输入一系列组卷参数,包括试卷名称、试卷...

    IT公司笔试题

    【IT公司笔试题】主要考察了考生的计算机基础知识,包括数据库设计、算法分析、网络模型、SQL查询语句的理解、图遍历、操作系统概念、编程基础以及资源管理等多个方面。以下是对这些知识点的详细解析: 1. **数据库...

    黄淮学院信工学院操作系统06-07下考试试题A卷答案

    2. **页面置换算法**:第二道应用题展示了页面置换算法的运行情况,通过跟踪页面访问轨迹,可以计算出缺页中断次数和缺页中断率,进而评估算法的效率。 3. **生产者消费者问题**:最后一道应用题描述了经典的生产者...

    软件设计师考试

    数据库知识在考试中占据显著位置,不仅在上午题中有约5分的比重,下午题也至少有一道关于关系型数据库的题目。深入理解E-R模型,掌握如何从E-R模型导出关系,是备考的关键。此外,熟练掌握关系数据库的范式及其转换...

    .net面试企业常问问题

    这是一道递归算法问题,可以使用递归函数来计算第 30 位数的值。 7. 请编程实现一个冒泡排序算法? 冒泡排序是一种简单的排序算法,可以使用以下代码实现: ``` public static void BubbleSort(int[] array) { ...

Global site tag (gtag.js) - Google Analytics