嗨,我想简短点
满足条件时,我只需要该列。 如果不满足条件,那么我可以继续运行我的查询而无需将该列作为验证。
需要条件。
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'
答案 0 :(得分:0)
根据您的评论,这将为您提供所需的信息。
但是,我怀疑这是您所需要的。请根据以上评论的要求更新您的问题。如果这确实回答了您的问题,请接受它作为答案并关闭问题。
我希望真正的要求是将以下查询包装在一个较大的查询(您尚未提供)的外部联接中,并合并以处理可能的无行情况。
long difference = date2.getTime() - date1.getTime();
如果表中没有参数名称='SMS_SEND'的记录,则查询将不返回任何行。否则,将由Table_A中具有parameter_name ='SMS_SEND'的记录数确定的Y或空白