Good day to all the Oracle developers,
Buen día para todos los oracle developers,
The matter is this, I hope to explain myself well.
El asunto es el siguiente, espero explicarme bien.
I have the following query in Oracle:
Tengo el siguiente query en Oracle:
SELECT GRANTEE
FROM dba_tab_privs
WHERE ( TABLE_NAME = 'FSD011'
AND TABLE_NAME = 'FSD015'
AND TABLE_NAME = 'FSD016'
AND TABLE_NAME = 'FSD014'
AND TABLE_NAME = 'FSD013');
What I am trying to do is extract only the GRANTEE that has only all the tables that are indicated after the WHERE condition for the TABLE_NAME field. The output should be:
Lo que estoy intentando es extraer sólo el GRANTEE que tenga únicamente todas las tablas que se indican después de la condición WHERE para el campo TABLE_NAME. La salida debería ser:
| GRANTEE | TABLE_NAME |
|---|
| RABD_RAUMARTINE | FSD011 |
| RABD_RAUMARTINE | FSD015 |
| RABD_RAUMARTINE | FSD016 |
| RABD_RAUMARTINE | FSD014 |
| RABD_RAUMARTINE | FSD013 |
Unlike something like:
A diferencia de si se usara algo como:
SELECT GRANTEE
FROM dba_tab_privs
WHERE TABLE_NAME IN ('FSD011',
'FSD015',
'FSD016',
'FSD014',
'FSD013');
Where it would be to extract all "GRANTEE" (other than "RABD_RAUMARTINE") that contain any of the indicated tables. (That is not what I want!)
Donde lo que haría es extraer todos los GRANTEE (distintos a RABD_RAUMARTINE) que contengan cualquiera de las tablas indicadas pero no únicamente las 5.
For example:
Como por ejemplo:
| GRANTEE | TABLE_NAME |
|---|
| RABD_RAUMARTINE | FSD011 |
| RABD_RAUMARTINE | FSD013 |
| RABD_RAUMARTINE | FSD014 |
| RABD_RAUMARTINE | FSD015 |
| RABD_RAUMARTINE | FSD016 |
| RABD_IMPUESTOS | FSD011 |
| RABD_IMPUESTOS | FSD015 |
| RABD_IMPUESTOS | FSD016 |
How do i do it?
De qué manera se podría conseguir esto?
Thank you very much in advance.
Muchas gracias de antemano.
.