做两个系统集成的时候遇到这样的问题,拿到了客户使用的第3方软件的数据库,
现在要提取一些特别的字段(字段名已知)内的数据出来,我现在的问题是,我要在1000多张表中找到包含这些特别字段的表,并抽取数据.
比如查询哪个表中有一个特别字段'AAAA':
select * from user_tab_cols where column_name = upper('AAAA');
可以找到符合条件的表.但要查同时有多个特定字段的表,比如查同时含有字段'AAAA'和'BBBB'以及'CCCC'的表,我就不知道怎么查了,请教高手!!!!

解决方案 »

  1.   

    column_name in('AAA','BBB','CCC'),再判断返回的行数是否也是3个,如果不是,就不合条件。
      

  2.   

    看你如何传入被包含的多个字段,如果形式为   aaaa , bbbb , cccc   几个字段就传几个字符先计算下传入几个不为空的字段select table_name,count(*) from user_tab_cols 
    where column_name in( upper('aaaa'),upper('bbbb'),upper('cccc'))
    group by table_name
    having count(*)>=3  --这个数字就是前面算的