Поскольку user_tab_columns
имеет table_name
и column_name
в каждой строке, поэтому при выборе выбирается только строка с этими столбцами, а не другие строки с другими столбцами этой таблицы.
Один запрос, который вы можете использовать:
SELECT DISTINCT table_name
FROM user_tab_columns c
WHERE NOT EXISTS (
SELECT 1
FROM user_tab_columns
WHERE column_name LIKE '%OBJECT_NO%'
AND table_name = c.table_name
)
ORDER BY table_name;
Другой способ работы может быть:
SELECT DISTINCT table_name
FROM user_tab_columns
WHERE table_name NOT IN (
SELECT table_name
FROM user_tab_columns
WHERE column_name LIKE '%OBJECT_NO%'
)
ORDER BY table_name;