在数据库中怎么判断2张表中的数据是否相同,2张表中字段不一样。求高手指教!

在数据库中怎么判断2张表中的数据是否相同,2张表中字段不一样。求高手指教!,第1张

思路是这样的:

select a.field1+a.field2+a.field3 from tabel1 as a where a.field1+a.field2+a.field3 not in (select b.field1+b.field2+b.field3 from table2 as b)

如果 有记录被输出 则 输出的记录 在table1中有 而tabl2中没有

然后 交换 table2 和table 1 再做一次 输出的记录是 table2中有 而table1 中没有的

==========================

表达式 field1+a.field2+a.field3 要根据 每个字段的数据类型 进行处理,把它们都转换成为字符型, 不然会报错

*************************************************************************************

另一种思路

循环语句,逐行比较

mysql中,可用库名前缀同时查询两个数据库中的数据。

工具:mysql 5.6

步骤:

1、如图可见,在本地localhost中有2个数据库,分别是badkano和badkano_test。

2、假如两个数据库中有相同的表student,数据分别如下:

3、要同时查询两个数据库中的上边两张表,语句如下:

 

select * from badkano.studentunion all select * from badkano_test.student

4、查询结果就将2个库中的数据一起查出来了:

不知道你表中的数据有多少,用IF:

在表B的B1输入=IF(COUNTIF(表A!A1,A1),"","不同") 回车并下拉

补充:

=IF(AND(表A!A1<>A1,OR(表A!A1<>"",A1<>"")),"不同","") 回车并下拉

也行。

数据多的,在表C的A1输入:

=IF(AND(表A!A1<>表B!A1,OR(表A!A1<>"",表B!A1<>"")),"不同","")

回车,向右复制(右拉),再选A1~最右边的(如Z1),一起向下复制(下拉)。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6824852.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-28
下一篇2023-03-28

发表评论

登录后才能评论

评论列表(0条)

    保存