我需要修改查询以添加过滤器

时间:2019-06-20 05:55:33

标签: sql oracle

请帮助,我需要添加一个过滤器-至今。在下面给出的查询中的tran_log.Tran_Date列上。请为我提供更新的查询。

SELECT 
  tran_log.FROM_CRN, 
  ktk_log.DEBIT_ACCT_NO, 
  ktk_log.TXN_AMOUNT, 
  ktk_log.EXT_SYSTEM || '-' || ktk_log.REFRENCE_NO AS "Kotak bank ref 
 number", 
   case when ktk_log.RETURN_CODE_STATUS = 0 then 'SUC' ELSE 'FAIL' END AS 
"Status", 
  ktk_log.DEBIT_CREDIT_FLAG As "Transaction code", 
   ktk_log.ERROR_CODE, 
  KTK_LOG.APP_TYPE as "Merchant code", 
  tran_log.Tran_Date "Transaction_Date", 
  tran_log.SOURCE_REF_NO As "Merchant reference number" 
FROM 
  KTK_TRANSACTION_LOG ktk_log 
  INNER JOIN transaction_log tran_log on TRAN_LOG.TRAN_REF_NO = 
KTK_LOG.EXT_SYSTEM || '-' || KTK_LOG.REFRENCE_NO;

2 个答案:

答案 0 :(得分:0)

我认为这很有帮助

  

选择*从表   FRMDATE和TODATE之间的tran_log;

答案 1 :(得分:0)

您的实际问题是什么?

  • 如何过滤查询结果?使用WHERE子句。
  • 是将条件放在WHERE子句中还是扩展您的ON子句?决定吧两种方法都可以。扩展ON子句的好处是,如果您愿意,可以更轻松地将内部联接更改为外部联接。
  • 如何使用日期文字?就是DATE 'yyyy-mm-dd',例如DATE '2019-06-20'
  • 如何比较日期?在Oracle中,日期和日期时间之间没有区别。 DATE数据类型允许带日期的时间。因此,通常最好在检查日期范围时使用>=<。例如。 4月:where mydate >= date '2019-04-01' and mydate < '2019-05-01'。这样,您就可以得到从头到最后一纳秒的一切:-)