sql >> データベース >  >> RDS >> Oracle

Oracle-一意のListagg値

    最初のdistinctを削除しました すでにgroup byなので、 Selectのすべてのフィールド クエリを実行し、case whenを置き換えました selectを使用 クエリ:

    select ds.catnr,ds.planqty, ds.ordnr, ds.posnr, ds.segnr, 
        listagg((select distinct max(li1.paco) from leos_item li1 where li.av_part_no = li1.av_part_no and li.paco is not null), ', ') within group (order by pd.part_no) inq_no
        from oes_delsegview ds, oes_address ad, oes_opos op, oes_nrbom nr, scm_prodtyp sp, leos_item li, part_description pd
        where ds.delnr = ad.key
        and ad.adr = ds.deladr
        and ds.pos_o_status not in ('9', 'D')
        and ds.pos_c_status not in ('9', 'D')
        and ds.seg_o_status not in ('9', 'D')
        and ds.seg_c_status not in ('9', 'D')
        and ds.cunr in ('W31170','W31172')
        and ds.pos_type != 'RC'
        and ds.ordnr = op.ordnr
        and ds.posnr = op.posnr
        and ds.catnr = pd.catnr
        and ds.prodtyp = pd.prodtyp
        and ds.packtyp = pd.packtyp
        and ds.catnr = nr.p_catnr (+)
        and ds.prodtyp = nr.p_prodtyp (+)
        and ds.packtyp = nr.p_packtyp (+)
        and nr.c_prodtyp = sp.prodtyp (+) 
        and sp.prodgrp (+) = 'COMP'
        and substr(nr.c_prodtyp,1,2) not in ('MT','LF')
        and nr.c_catnr = li.catnr (+)
        and nr.c_prodtyp = li.prodtyp (+)
        and nr.c_packtyp = li.packtyp (+)
        and pd.catnr = '9780007938797'
        group by ds.catnr,ds.planqty, ds.ordnr, ds.posnr, ds.segnr
    


    1. Postgresの未終了のCSV引用符付きフィールド

    2. トルコ語の文字が正しく表示されない

    3. MySQLのinstr()で大文字と小文字を区別する方法は?

    4. sqlalchemyを使用して日付範囲で除外制約を作成する方法