首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Informix >

sql有关问题

2012-03-24 
sql问题假设两个不同的数据库A和B,查询A和B库中同一个表的数据,如果从两个库中查询出来的结果存在重复的,

sql问题
假设两个不同的数据库A和B,查询A和B库中同一个表的数据,如果从两个库中查询出来的结果存在重复的,则不显示重复的,只显示两个库中不重复的数据,请问如何实现比较好呢?急用!谢谢!!!

[解决办法]
select * from table1 union all select * from db2:table1 into temp tmp_table1;
select distinct * from tmp_table1;

这样行吗
[解决办法]
天啊 两个表字段都不一样还要判断记录重复不重复估计SQl语句搞不定吧 要不写个存储过程吧
[解决办法]

SQL code
select * from table1 union select * from db2:table1 into temp tmp_table1; select distinct * from tmp_table1;--lz你A表和B表都不一样,怎么取不重复的数据啊--把*换成A表和B表都有的字段,你先union 两个表insert到tmp_table1,tmp_table1中有19--条数据,你再distinct 不就取不重复的,跨库表名的写法可以去网上搜下
[解决办法]
"如果从两个库中查询出来的结果存在重复的,则不显示重复的,只显示两个库中不重复的数据"

你所谓的重复是不是是指这个表的主键字段的值呢?如果是的话,那假设这2个表的主键列名为ID,则:

SQL code
select * from db_1.tb_name a where a.ID not in (select id from db_2.tb_name)untion allselect * from db_2.tb_name a where a.ID not in (select id from db_1.tb_name)
[解决办法]
SQL code
select * from db_1.tb_nameuntion allselect * from db_2.tb_nameinto temp tmp1;select * from tmp1group by /*你表中所有的字段名*/ having count(*)=1
[解决办法]
这简单啊,好几位回复的都可行,只是执行效率可能会有些许差异。

热点排行