嵌套的select语句,其中from和from都是唯一的?

时间:2019-08-21 18:56:30

标签: sql

您好,我正在尝试为数据库中的不同应用程序编写一个嵌套查询。

以下SQL代码是一个“语句”,它返回一组特定的应用程序

FROM APPL
WHERE APPL.CRE_TS >= to_date('20190801','yyyymmdd') and APPL.CRE_TS < to_date('20190802','yyyymmdd')
AND CPTR_APPL_ID LIKE '%C'

它返回所有以C结尾并在该特定日期之后的应用程序。

我要查询的是FROM都对它们相同,而日期保持不变,但唯一的区别是行

AND CPTR_APPL_ID LIKE '%C'

我将%C更改为其他名称。执行此操作最干净的查询是什么?

1 个答案:

答案 0 :(得分:0)

您可以像这样在OR中添加其他条件:

FROM 
    APPL
WHERE 
    APPL.CRE_TS >= to_date('20190801','yyyymmdd') 
    AND APPL.CRE_TS <  to_date('20190802','yyyymmdd')
    AND 
        (CPTR_APPL_ID LIKE '%C'
        OR CPTR_APPL_ID LIKE '%A'
        OR CPTR_APPL_ID LIKE '%B')

PS。设置代码格式以便可读。

编辑:基于您的评论说您想要所有结尾字符以及一个计数,您需要的是GROUP BYRIGHT()

SELECT 
    RIGHT(CPTR_APPL_ID, 1)
   ,COUNT(*) 
FROM 
    APPL
WHERE 
    APPL.CRE_TS >= to_date('20190801','yyyymmdd') 
    AND APPL.CRE_TS <  to_date('20190802','yyyymmdd')
GROUP BY RIGHT(CPTR_APPL_ID, 1)