Элемент даты в оракуле - PullRequest
0 голосов
/ 06 июня 2019

Я хочу добавить критерий даты в мой SQL, но не знаю, как это сделать. SQL ниже ...

    select 
      dsp_sku, sum(INVN_ADJMT_QTY) qty, 
      decode(pt.tran_type||pt.tran_code||pt.actn_code, '60500','Total SKU inventory','60501','Total case inventory (allocatable)','60502','Total carton inventory','60503','Total active inventory', '60504','Total transitional inventory (allocatable)','60506','Total case-pick inventory','60511','Unallocatable case inventory','60514','Unallocatable transitional inventory', '60597','Total SKU inventory - Allocatable','60598','Total SKU inventory - UnAllocatable','605TXX','Transitional inventory by type (XX=trans. type)', '605T10','Transitional inventory by type (10)','605T20','Transitional inventory by type (20)','605T30','Transitional inventory by type (30)', '605T40','Transitional inventory by type (40)','605T0','Transitional inventory by type (0)','605T99','Transitional inventory by type (99)', '605LPN','Case Inventory by lock code (PN)','605LRC','Case Inventory by lock code (RC)','605LQA','Case Inventory by lock code (QA)','605LQH','Case Inventory by lock code (QH)', '605LEX','Case Inventory by lock code (EX)','605LRW','Case Inventory by lock code (RW)','605LDM','Case Inventory by lock code (DM)','605LWD','Case Inventory by lock code (WD)', '605LQU','Case Inventory by lock code (QU)','605LCH','Case Inventory by lock code (CH)','605LSD','Case Inventory by lock code (SD)','605LBL','Case Inventory by lock code (BL)', '605LCC','Case Inventory by lock code (CC)','605LML','Case Inventory by lock code (ML)','605LXX','Case Inventory by lock code (XX=lock code)' ) STATUS, 
      pt.tran_type||pt.tran_code||pt.actn_code code_blend
    from PIX_TRAN pt
      inner join item_master im on
        im.sku_id = pt.sku_id 
    where
      tran_type = '605' 
    --and tran_code = '01'
      --and actn_code
      and whse = 'PH3' 
    --and trunc(pt.create_date_time) like trunc(sysdate) - 1
      and (
(im.dsp_sku ='85865') or
(im.dsp_sku ='86111') or
(im.dsp_sku ='173016') or
(im.dsp_sku ='176630') or
(im.dsp_sku ='72204064')
)

    group by 
      dsp_sku, tran_type||tran_code||actn_code
    order by 
      code_blend, dsp_sku

В разделе он смотрит на SKU,

 and (
(im.dsp_sku ='85865') or
(im.dsp_sku ='86111') or
(im.dsp_sku ='173016') or
(im.dsp_sku ='176630') or
(im.dsp_sku ='72204064')
)

Я хочу добавить элемент даты к нему. Цель запроса состоит в том, чтобы увидеть, был ли инвентарь в здании в определенный день, поэтому я хочу иметь возможность сказать, как (im.dsp_sku = '85864' (then how ever you would have it check for the specific day), мне нужно проверить каждый SKU на определенную дату, чтобы я не смог сделать один Массовый поиск У каждого SKU есть своя дата, которую нужно проверить, и у меня есть около 11k SKU для проверки. Спасибо за понимание.

Ответы [ 2 ]

0 голосов
/ 06 июня 2019

Я бы посоветовал вам не применять TRUNC к столбцу даты, поскольку это приведет к тому, что существующий индекс в столбце даты, если таковой будет, не будет использоваться, что сделает его менее производительным.

Перепишите ваше TRUNC утверждение как

pt.create_date_time  >= DATE '2019-05-05' AND 
pt.create_date_time  <  DATE '2019-05-05' + 1 

Если вы хотите передать значение даты в нужном формате, используйте TO_DATE, но только справа.

pt.create_date_time  >= TO_DATE( '05/05/2019','dd/mm/yyyy') AND 
pt.create_date_time  <  TO_DATE( '05/05/2019','dd/mm/yyyy') + 1 
                                          --or mm/dd/yyyy 
0 голосов
/ 06 июня 2019

Понял ...

 (im.dsp_sku ='85865' and trunc(pt.create_date_time) = '05/05/2019')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...