我的问题是基于以下几点: Finding table with two column names个 如果感兴趣,请阅读上面的内容,因为它涵盖了很多方面,我在这里不再重复.
对于给出的答案,我 comments 如下:
请注意,您可以将IN替换为=和OR子句,但将其泛化为LIKE可能不起作用,因为LIKE可能会在每个术语中获得超过1个计数:例如
SELECT OWNER, TABLE_NAME, count(DISTINCT COLUMN_NAME) as ourCount
FROM all_tab_cols WHERE ( (column_name LIKE '%ID%') OR (COLUMN_NAME LIKE '%NUM%') )
GROUP BY OWNER, TABLE_NAME
HAVING COUNT(DISTINCT column_name) >= 2
ORDER BY OWNER, TABLE_NAME ;
这段代码编译并运行.但是,它不能保证表既有名称包含ID的列,也有名称包含NUM的列,因为可能有两列或更多列的名称类似于ID.
有没有办法将上面链接中给出的答案推广到LIKE命令. 目标:查找包含两个列名的表,一个类似ID(或某个字符串),另一个类似NUM(或其他字符串).