我们经常遇到这种情况,在两个数据库中分别都有一张表,它们表达的实际上是同样信息数据 但由于建表人不同 字段的名字可能不一样 当另外有人调用它们 由于字段不统一 就会出现问题 由于本人是新手 请教高人指点一二.!.
解决方案 »
- 求一条sql,在oracle的scott用户下查询各部门工资排在前三名员工的部门编号,部门名称,姓名,工资
- 怎樣利用form個性化設置,某個欄位必須輸入?
- 求教一个更新的问题!(杨哥,快来啊)
- 求oracel数据导出功能。
- 大哥大姐进来看一看创建对象带上not instantiable选项为什么会出现这种错误
- 有经验的大虾,进来看看这个问题怎么解决!!
- 跨服务查询问题,高手请进!!
- 请教:一个用于跟踪数据更新的触发器
- 散分第四贴,感谢大家对oracle版的支持,明年oracle会更好!!!
- PL sql 语句优化
- SQL 在一个表中提取一列插入另一列??怎么操作
- 请教,使用Shell编写自动生成数据
里面可以查看表里面的所有字段.
where table_name = 'ATABNAME' 得到要比较的两个表
循环查找有没有对方表里不存在的比如
select a.xxxx ,'b表名缺少' as errormsg,
from all_tab_columns a
left outer join all_tab_columns b on a.xxxx=b.xxxx
and b.table_name='ATABNAME_b' where table_name = 'ATABNAME_a' and b.xxxx is nullunion allselect a.xxxx ,'a表名缺少' as errormsg,
from all_tab_columns a
left outer join all_tab_columns b on a.xxxx=b.xxxx
and b.table_name='ATABNAME_a'
where table_name = 'ATABNAME_b' and b.xxxx is nullxxxx是表字段名的字段,忘了,自己看看吧
T.COLUMN_NAME
,COUNT(*) C
FROM
(
select A.TABLE_NAME,A.COLUMN_NAME from all_tab_columns a where a.TABLE_NAME = 'ALL_TABLES'
UNION ALL
select B.TABLE_NAME,B.COLUMN_NAME from all_tab_columns b where b.TABLE_NAME = 'DBA_TABLES'
) T
GROUP BY T.COLUMN_NAME
HAVING COUNT(*) >1这是两个表中字段相同的那些字段名称.
select a.COLUMN_NAME,count(0) from (
select *from all_tab_columns a where a.TABLE_NAME IN ('TMP_EMAIL', 'TMP_EMAIL1' )) A
group by a.COLUMN_NAME
having count(0)=1) b,all_tab_columns c
where c.TABLE_NAME IN ('TMP_EMAIL', 'TMP_EMAIL1' ) and b.COLUMN_NAME=c.COLUMN_NAME