2011-07-12 8 views

Respuesta

11

Uso:

SELECT table_name 
    FROM all_tab_cols 
    WHERE column_name IN ('EMP_ID', 'EMP_NAME') 
GROUP BY table_name 
    HAVING COUNT(DISTINCT column_name) = 2 

La comparación recuento debe ser igual al número de parámetros definidos en la cláusula IN.

... pero esto es un medio más seguro de la determinación de la mesa en caso de su son duplicados:

SELECT table_name 
    FROM all_tab_cols 
    WHERE column_name IN ('EMP_ID', 'EMP_NAME') 
GROUP BY table_name, owner 
    HAVING COUNT(column_name) = 2 
+0

gracias las ponis. –

+1

en esto usted tiene que tomar la condición 'propietario' también ... else daría mal ans ... –

+1

en todo proyecto grande tiene que trabajar en diferentes esquemas diferentes y es por eso que le pedí que pusiera la condición del propietario aquí también ... bien, digamos que en un esquema, la tabla de prueba_1 tiene un nombre de columna EMP_ID pero no tiene EMP_NAME, y en otro esquema solo tiene EMP_NAME ... solo piense en esto también ... esta consulta dará test_1 también ... :) –

Cuestiones relacionadas