`

查找返回不同的值,寻找不同的表

 
阅读更多

查找返回不同的值,寻找不同的表

 

 

select case a_id when 1 then 

(select b_id||' '||b_desc from b where b.b_id=a.a_id)

else 

(select e_id ||' '||e_desc from e where e.e_id=a.a_id)

end from a;

 

=================================================

以上方法的缺陷是单表,判断。今天来了个挑战,更犀利

先看下流程

if(中间,如果第一段sql取到为空的话;)

 

if(){
   select kpi_code
          from dss.dss_ptl_user_customize_kpi f
         where f.login_id = 'CaoBaojun'
           and f.grid_id = 'PTL_VIEW_PRODUCE_D'
   }
  
   else{
           SELECT distinct T.KPI_CODE AS "kpi_code", T.SERVICE_TYPE AS "svc_type"
  FROM dss.DSS_PTL_GRID_KPI T
 WHERE T.GRID_ID = 'PTL_VIEW_PRODUCE_D'
   and t.view_flag = '10'
   AND T.ROLE_ID = 'default'
   }

 

解决方案是 ,把优先级高的,设置为2,然后union all,然后取大的。太犀利了。

 

   with a as (select * from (
select * from
(SELECT distinct T.KPI_CODE AS kpi_code,'1' s
  FROM dss.DSS_PTL_GRID_KPI T
 WHERE T.GRID_ID = 'PTL_VIEW_PRODUCE_D'
   and t.view_flag = '10'
   AND T.ROLE_ID = 'default')
   union all(
   select f.kpi_code,'2' s
          from dss.dss_ptl_user_customize_kpi f
         where f.login_id = 'CaoBaojun'
           and f.grid_id = 'PTL_VIEW_PRODUCE_D')
         ) )
  select kpi_code from a where s= (select max(s) from a)

 

 

分享到:
评论

相关推荐

    采用2分查找法将PT100电阻值查表算出温度值

    为了实现这个过程,可以编写一个程序,输入PT100的电阻值,然后使用二分查找算法在电阻-温度对照表中寻找匹配项。程序需要处理查找不到完全匹配值的情况,并且可能需要考虑精度问题,因为实际测量的电阻值可能存在...

    数据结构实验七查找.doc

    8. **查找哈希表**:`SearchHash`函数查找给定元素,若哈希函数计算的初始位置被占用且元素匹配,则返回找到;否则按探测序列寻找。 9. **初始化哈希表**:`InitHash`函数初始化所有元素的标志为`FALSE`,表示哈希...

    1查找表1

    查找操作是查找表的核心功能,它根据给定的值在表中寻找匹配的关键字。如果找到匹配的记录,查找成功;如果没有找到,查找失败。查找的结果可能是一个记录本身,或者在找不到时返回“空记录”或“空指针”。 5. ...

    数据结构查找技术静态查找表PPT学习教案.pptx

    3. `Search(ST, key)`:查找关键词为 key 的元素,返回元素值或位置,如果不存在则返回“空”。 4. `Traverse(ST, Visit())`:遍历 ST 中的所有元素,对每个元素调用 Visit() 函数。 在实际应用中,静态查找表常...

    数据结构中的哈希表查找

    `:增加索引值以寻找下一个位置。 ##### 6. 查找哈希表元素 - `int SearchHash(HashTable H, ElemType K, int *p, int *c)`:在哈希表中查找关键字`K`。 - `(*p) = Hash(K);`:根据哈希函数计算初始索引。 - `...

    顺序查找、拆分查找等的代码

    这两种方法都是在数组或列表中寻找特定元素的过程,但它们的效率和实现方式有所不同。 **顺序查找**: 顺序查找是最基础的查找算法,适用于任何有序或无序的数据结构。如上述代码所示,`locate` 函数就是顺序查找的...

    c++链表操作查找删除添加

    这个函数通过传入索引`i`来定位链表中的元素,并返回该位置上的元素值。如果找到了对应的元素,则返回`OK`;如果没有找到或者`i`不合法,则返回`ERROR`。 ### 3. 在链表中插入元素 链表插入操作指的是在指定位置...

    数据结构课件:第9章 查找2动态查找表.pptx

    1. 查找算法通常用递归实现,如`SearchBST`函数,根据节点值与给定值的比较结果,递归地在左子树或右子树中继续查找,直到找到目标节点或返回空指针表示查找失败。 2. 插入算法同样采用递归,`SearchBST`函数在查找...

    9查找表new.ppt

    【查找表】是计算机科学中数据管理的重要概念,主要用于在数据集合中寻找特定的数据对象。查找表由相同类型的数据元素组成,这些元素可以是记录,它们通过特定的关键字进行区分。查找过程分为查找成功(找到目标元素...

    顺序查找+折半查找

    这里我们主要探讨两个经典的查找算法:顺序查找和折半查找,它们都是在有序或无序数据集合中寻找特定元素的方法。 **顺序查找**,也称为线性查找,是一种基本的查找算法,适用于任何类型的数据结构,尤其是链表和...

    数据结构 利用递归法进行表的查找

    表查找是我们在表中寻找特定元素的过程,它在各种应用中都有广泛的应用,如数据库查询、文件系统搜索等。 递归是一种解决问题的方法,它通过调用自身来解决更小的问题,直到达到某个基本情况。在表的查找过程中,...

    查找算法ppt哈工大

    Search是在查找表中查找关键字值等于给定值的数据元素,并返回位置或特定值;Insert是在动态环境下插入操作;Delete是在动态环境下删除操作。 查找表的结构主要包括线性表、树表和散列表。线性表适用于静态查找,...

    最大值和最小值获取

    在数组处理中,最大值和最小值的查找有多种方法,包括线性搜索和优化算法。线性搜索是最直观的方式,即遍历数组一次,每次比较当前元素与已知最大值或最小值,然后更新这些值。这种方法的时间复杂度为O(n),其中n是...

    在无序单链表中查找特定的值pointer on c第十二章编程练习2

    在这个编程练习中,我们需要在这样的链表中查找特定的值。下面我们将深入探讨这个话题。 首先,让我们定义单链表的数据结构。每个节点通常包含两个部分:一个是数据部分,用于存储元素;另一个是指向下一个节点的...

    数据结构 第9章 查找.ppt

    查找操作的目标是在查找表中找到具有给定关键字值的数据元素。查找成功意味着找到相应的元素,返回元素信息或其在表中的位置;查找不成功则返回“空记录”或“空指针”。 由于查找表中的元素没有明显的组织规律,...

    数据结构——查找

    数据结构中的查找是数据操作的重要组成部分,主要涉及在数据集合中寻找特定元素的过程。查找算法的性能直接影响到程序的效率,特别是在大规模数据处理时。本文将深入探讨几种常见的查找技术,包括顺序查找、二分查找...

    数据结构 顺序查找 折半查找

    在本话题中,我们将重点关注两种基本的查找算法:顺序查找和折半查找,这两种方法都是在数组或有序列表中寻找特定元素的常用策略。 **顺序查找(Sequential Search)** 顺序查找是最基础的查找算法之一,适用于任何...

    09查找

    与静态查找表不同,动态查找表允许在查询后进行插入或删除操作。这意味着表中的数据是可以动态变化的,适合于需要频繁更新的场景。 **示例**:如果学生信息表允许用户添加新学生的信息或者删除已有的学生信息,那么...

    查找 算法——数据结构

    在计算机科学中,查找算法是数据结构领域的重要组成部分,用于在数据集合中寻找特定值的过程。本实验主要探讨了一种高效查找算法——折半查找(Binary Search),并将其与线性查找等其他查找方法进行了对比。 折半...

    Python版数据结构与算法-查找算法源代码,含顺序搜索、二分查找、哈希表搜索、树(图)数据查找源代码

    顺序搜索是最基础的查找算法,它通过遍历数组或列表中的每个元素来寻找目标值。如果找到目标值,返回其索引;否则,返回未找到的标记。在最坏的情况下,顺序搜索的时间复杂度为O(n),其中n是列表长度。虽然简单,但...

Global site tag (gtag.js) - Google Analytics