sql >> Databáze >  >> RDS >> Oracle

Je to možná chyba Oracle nebo mi něco chybí?

Nejsem velkým fanouškem AND/WHERE column = (SELECT column....) , celkově je lepší psát AND/WHERE column IN (SELECT column...) . Ale ve vašem případě to nevypadá, že by v dílčím dotazu bylo možné více řádků nebo sloupců. Co takhle-

var comment_id number
exec :comment_id := 3052753
select e.label as doc_name,
          e.url,
           i.item_id,
           'multi' as form_type
    from cr_items i, cr_extlinks e
    where i.parent_id = :comment_id
    and e.extlink_id = i.item_id
   UNION
    select null as doc_name,
           utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(r.content, 2000, 1))  as url,
           r.item_id,
           'single' as form_type
    from cr_revisions r
    where r.revision_id IN ( select content_item.get_latest_revision(:comment_id) 
                          from dual);

/

NEBO

var comment_id number
exec :comment_id := 3052753
select e.label as doc_name,
          e.url,
           i.item_id,
           'multi' as form_type
    from cr_items i, cr_extlinks e
    where i.parent_id = :comment_id
    and e.extlink_id = i.item_id
   UNION
    select null as doc_name,
           utl_raw.cast_to_varchar2(DBMS_LOB.SUBSTR(r.content, 2000, 1))  as url,
           r.item_id,
           'single' as form_type
    from cr_revisions r
    where EXISTS (select 'x'
                   from dual
                    where content_item.get_latest_revision(:comment_id) =r.revision_id);


/


  1. Jak vyplnit řádky na základě dat typu události

  2. MySQL kombinuje dva sloupce do jednoho sloupce

  3. Dvě aplikace Laravel na stejném serveru jsou ve vzájemném konfliktu

  4. Vztah JPA mnoho k mnoha se nevkládá do generované tabulky