ORA-00920: недопустимый реляционный оператор со встроенным оператором выбора - PullRequest
0 голосов
/ 12 ноября 2019

Я пытаюсь добавить встроенный запрос в своем операторе выбора, и он ссылается на недопустимый оператор

  SELECT
  hdr.whse, hdr.case_nbr, im.DSP_SKU, batch_nbr, SRL_NBR, PLT_ID, res.DSP_LOCN,
  res2.DSP_LOCN prev_locn,
  (select locn_brcd from locn_hdr where locn_id = (select locn_id from (select locn_id from at_wh_ghc1.at_case_hdr a where a.case_nbr ) where rownum <= 1)) "3rd",
  ACTL_QTY,
  DECODE (hdr.stat_code, '00', 'In Transit','01', 'Not Received, Shipment Verified','02', 'In Work Order', '03', 'Work Order Case','10', 'In Inventory, Not Putaway','30', 'Putaway', '45', 'Partially Allocated', '50', 'Allocated', '64', 'Allocated and Pulled', '65', 'Pulled','90', 'In Active Storage','91', 'In Case Pick Storage', '95', 'Consumed','96', 'Case Consumed to Active','97', 'Case Consumed to Case Pick','99', 'Deleted') "Case Status",
  count(lock_cnt)as Lock_cnt,
  --case when sum(lock_cnt) > 1 then
  xmlagg((xmlelement(E,INVN_LOCK_CODE||'  ')).extract('//text()') order by INVN_LOCK_CODE)as lock_codes,
  hdr.create_date_time
FROM ITEM_MASTER IM
  inner join WH_GHC1.CASE_DTL CSD on
    csd.sku_id = im.sku_id
  inner join WH_GHC1.CASE_HDR hdr on
    hdr.case_nbr = csd.case_nbr
  left join WH_GHC1.CASE_LOCK CL ON
    CL.CASE_NBR = hdr.CASE_NBR
  left join WH_GHC1.LOCN_HDR res on
    res.LOCN_ID = hdr.LOCN_ID
  left join WH_GHC1.LOCN_HDR res2 on
    res2.LOCN_ID = hdr.prev_LOCN_ID
  left join WH_GHC1.SRL_NBR_TRACK srl on
    srl.CASE_NBR = csd.case_nbr
    and srl.sku_id = csd.sku_id
    and srl.stat_code < 99
where
  im.cd_master_id in ('214002','249002')
--  sku/batch   ="(im.dsp_sku ='"&C2&"' and csd.batch_nbr = '"&E2&"') or"
  --  sku         ="(im.dsp_sku ='"&C2&"') or"
  and ( (im.dsp_sku ='ONB5STF') ) -- O_o
  AND ACTL_QTY > 0
  and hdr.stat_code < 90
group by
  hdr.whse, hdr.case_nbr, im.DSP_SKU, batch_nbr, SRL_NBR, PLT_ID, res.DSP_LOCN,
  res2.DSP_LOCN, ACTL_QTY, hdr.create_date_time, hdr.stat_code
order by
  whse, lock_cnt nulls first, dsp_sku;

Я добавил встроенный запрос, чтобы извлечь местоположение добавления из заголовка местоположения (select locn_brcd from locn_hdr where locn_id = (select locn_id from (select locn_id from at_wh_ghc1.at_case_hdr a where a.case_nbr ) where rownum <= 1)) "3rd", изатем выдает код ошибки. Кто-нибудь может помочь с этим?

1 Ответ

0 голосов
/ 12 ноября 2019

Я думаю, что проблема здесь.

(select locn_brcd from locn_hdr where locn_id 
    in (select locn_id from 
        (select locn_id from at_wh_ghc1.at_case_hdr a 
            where a.case_nbr ) where rownum <= 1) -- a.case_nbr is alone in where clause??? 
                 -- It must be a.case_nbr = something or you need to remove the entire where clause itself
 and rownum = 1) "3rd",
ACTL_QTY,

Ура !!

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