Мне нужно изменить запрос для добавления фильтра - PullRequest
0 голосов
/ 20 июня 2019

Пожалуйста, помогите, мне нужно добавить фильтр - от и до даты. По столбцу 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 голосов
/ 20 июня 2019

Какой у вас вопрос?

  • Как отфильтровать результаты запроса?Используйте предложение WHERE.
  • Следует ли поместить условие в предложение WHERE или расширить предложение ON?Просто решай.Оба метода одинаково хороши.Расширение предложения ON будет иметь преимущество в том, что вы сможете легче изменить внутреннее соединение на внешнее, если вы когда-либо захотите это сделать.
  • Как использовать литералы даты?Это DATE 'yyyy-mm-dd', например DATE '2019-06-20'.
  • Как сравнивать даты?В Oracle нет разницы между датой и датой-временем.Тип данных DATE допускает время с датой.Поэтому часто рекомендуется использовать >= и < при сравнении с диапазоном дат.Например, за апрель: where mydate >= date '2019-04-01' and mydate < '2019-05-01'.Таким образом, вы получаете все от первой до последней наносекунды: -)
0 голосов
/ 20 июня 2019

Я думаю, что это может быть полезным

ВЫБРАТЬ * ИЗ ТАБЛИЦЫ ГДЕ tran_log МЕЖДУ FRMDATE И TODATE;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...