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

Помощ при замяна на обединения на oracle (+) с обединения на ANSI

Мисля, че това ще го направи:

SELECT
  AUP.USERNAME,
  AUP.MENU_STRING MODULE,
  NVL(UGA.PERMISSION,AUP.DEFAULT_PERMISSION) PERMISSION
FROM
  (SELECT
    DU.USERNAME,
    A.PROGRAM_ID,
    A.MENU_STRING,
    'Y' DEFAULT_PERMISSION
  FROM
    APPLICATION A,
    DBA_USERS DU
  WHERE 
    A.PROGRAM_ID NOT IN ('.SEPARATOR')
    AND DU.USERNAME NOT LIKE '%#') AUP
LEFT JOIN
  (SELECT
    USER_ID,
    PROGRAM_ID,
    PERMISSION
  FROM
    USER_PGM_AUTHORITY
  WHERE
    PROGRAM_COMPONENT='PROGRAM') UGA
ON
  AUP.USERNAME=UGA.USER_ID
  AND AUP.PROGRAM_ID=UGA.PROGRAM_ID
WHERE
  aup.menu_string = 'Vendor Maintenance'
ORDER BY
  AUP.USERNAME,
  AUP.MENU_STRING;


  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

  2. Поставете събитието в регистъра на събитията на Windows с Oracle

  3. Как да разрешите ORA-29285:грешка при запис на файл

  4. Потребителски псевдоним на Oracle DB

  5. Странно поведение на пълно външно присъединяване в Oracle - как може да се обясни?