Where子句SQL中的用例

时间:2019-05-22 08:11:37

标签: sql plsql

嗨,我想简短点

满足条件时,我只需要该列。 如果不满足条件,那么我可以继续运行我的查询而无需将该列作为验证。

需要条件。

REFERENCE TABLE - TABLE_A
inside TABLE_A there is PARAMETER_NAME AND PARAMETER_VALUE
REQUIRED: PARAMETER_NAME= 'SMS_SEND'
PARAMETER_VALUE = 'TRUE'

验证列 内表_B INVALID_STAT --->列

IF PARAMETER_NAME= 'SMS_SEND' and PARAMETER_VALUE = 'TRUE'
THEN I NEED TO CHECK INVALID_STAT IF ITS EQUAL TO 'Y'
ELSE
I DONT NEED TO VALIDATE INVALID_STAT AT ALL



WHERE (CASE
           WHEN 1 = (SELECT DECODE (PARAMETER_VALUE, 'FALSE', 1, 2)
                       FROM TABLE_A
                      WHERE PARAMETER_NAME = 'SMS_SEND')
           THEN
              INVALID_STAT
           ELSE
              'Y'
        END) = 'Y'

1 个答案:

答案 0 :(得分:0)

根据您的评论,这将为您提供所需的信息。

但是,我怀疑这是您所需要的。请根据以上评论的要求更新您的问题。如果这确实回答了您的问题,请接受它作为答案并关闭问题。

我希望真正的要求是将以下查询包装在一个较大的查询(您尚未提供)的外部联接中,并合并以处理可能的无行情况。

  long difference = date2.getTime() - date1.getTime();

如果表中没有参数名称='SMS_SEND'的记录,则查询将不返回任何行。否则,将由Table_A中具有parameter_name ='SMS_SEND'的记录数确定的Y或空白