Oracle
 sql >> база данни >  >> RDS >> Oracle

Това възможна грешка в Oracle ли е или пропускам нещо?

Не съм голям фен на AND/WHERE column = (SELECT column....) , холистично е по-добре да напишете AND/WHERE column IN (SELECT column...) . Но във вашия случай не изглежда, че има възможност за множество редове или колони в подзаявката. Какво ще кажете за-

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);

/

ИЛИ

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Определяне на датите на Великден за всяка година в Oracle PLSQL

  2. Кой е най-добрият начин за свързване между android и oracle база данни?

  3. Топ 2 оферти със сбор от всички оферти

  4. Какво да направите, ако получите неправилна порядкова грешка при отметка, когато използвате SQL Server с нашия Oracle ODBC драйвер

  5. Как да използвате Oracle SQL*Plus