onode_c, dnode_c, dist1
表2:
onode_c, dnode_c, dist2
我需要一个查询这对于返回
onode_c, dnode_c, dist1, dist2
dist1
和dist2
在表1和表2中不匹配的记录
select a.onode_c, a.dnode_c, trunc(a.dist1), trunc(b.dist2)
from table1 a, table2 b
where a.onode_c = b.onode_c and a.dnode_c = b.dnode_c and trunc(a.dist1) != trunc(b.dist2);
上述查询多次返回相同的记录。
'TRUNC(b.f1)'?我在table2中看不到列“f1”。同时'dist'列... – 2013-03-19 00:19:43
对不起,'trunc(a.dist),trunc(b.f1)'应该是trunc(a.dist1),trunc(b.dist2) - 在修改原始查询使其简单。 – Jeba 2013-03-19 00:23:10
'(onode_c,dnode_c)是一个表还是两个表上的唯一键或主键?如果只有一个,哪一个?由于您报告了多行,因此我会假定至少有一个表对('onode_c,dnode_c)'至少在一个表上不唯一。如果对于表中的给定值(onode_c,dnode_c)',在另一个表中有多个值,其中'trunc(a.dist)!= trunc(b.dist2)'是对某些行为true,对其他行则为false。该节点对的值应该包含在内吗? – 2013-03-19 00:50:25