sql查询出来的值雷同但是不相等,这是为什么呢
sql查询出来的值相同但是不相等,这是为什么呢?
T1和T2是结构完全相同的表,根据主键PARTY_ID关联,max字段是在两张表中都是number类型的,查询T1T2的max不相同的数据时却出现了相同的max值
------解决方案--------------------
很奇怪,你再仔细检查一下,看看两个表的数据。
可以先选择一条数据测试一下。因为这样看语法什么的都没错。很有可能是表的数据造成的
------解决方案--------------------
楼主你确定执行的是你贴的sql吗?
为什么结果集的字段和你sql中的字段名不一样
------解决方案--------------------
你的CASE WHEN已经明显的显示出数据库在作等值比较时,我们看上去一样的数据其实是不相等的。
你确定你的数据是NUMBER型吗?类型一样吗?是否有空格的原因?还有就是全/半角。
以上原因都会导致数据库判断时不相等
------解决方案--------------------
不要加 AND t1.MAXLARGESTDURATION <> t2.MAXLARGESTDURATION 条件
------解决方案--------------------
应该是这个问题吧。
------解决方案--------------------
你最后条件改成t1.MAXLARGESTDURATION - t2.MAXLARGESTDURATION= 0 再试一下。 如果真的是number 不可能出现你的结果。
------解决方案--------------------
数据类型不一样
T1和T2是结构完全相同的表,根据主键PARTY_ID关联,max字段是在两张表中都是number类型的,查询T1T2的max不相同的数据时却出现了相同的max值
SELECT t1.MAXLARGESTDURATION,t2.MAXLARGESTDURATION
FROM T_MK_ROLLINGLIST t1,T_ROLLINGLIST t2
WHERE t1.PARTY_ID = t2.PARTY_ID
AND t1.MAXLARGESTDURATION <> t2.MAXLARGESTDURATION;
t1.MAX t2.MAX
1 68 68
2 33 33
3 48 48
4 47 526
5 150 150
6 61 61
7 451 451
8 29 29
9 52 52
10 38 38
11 137 137
12 28 28
13 40 91
14 32 32
15 49 56
16 71 71
17 46 46
18 42 42
19 29 29
20 52 52
------解决方案--------------------
很奇怪,你再仔细检查一下,看看两个表的数据。
可以先选择一条数据测试一下。因为这样看语法什么的都没错。很有可能是表的数据造成的
------解决方案--------------------
楼主你确定执行的是你贴的sql吗?
为什么结果集的字段和你sql中的字段名不一样
------解决方案--------------------
你的CASE WHEN已经明显的显示出数据库在作等值比较时,我们看上去一样的数据其实是不相等的。
你确定你的数据是NUMBER型吗?类型一样吗?是否有空格的原因?还有就是全/半角。
以上原因都会导致数据库判断时不相等
------解决方案--------------------
不要加 AND t1.MAXLARGESTDURATION <> t2.MAXLARGESTDURATION 条件
------解决方案--------------------
你的CASE WHEN已经明显的显示出数据库在作等值比较时,我们看上去一样的数据其实是不相等的。
你确定你的数据是NUMBER型吗?类型一样吗?是否有空格的原因?还有就是全/半角。
以上原因都会导致数据库判断时不相等
应该是这个问题吧。
------解决方案--------------------
你最后条件改成t1.MAXLARGESTDURATION - t2.MAXLARGESTDURATION= 0 再试一下。 如果真的是number 不可能出现你的结果。
------解决方案--------------------
数据类型不一样