2015-10-12 33 views
0

我在那里我得到了同样的查询两种不同结果的情况cloumn的唯一区别是地方列的选择部分(第1和第2逆转,以2号和1号)改变的地方产生不同的结果为相同的查询

select a11.GN_ID,a11.GN_NM 
FROM TABLE1 a10, TABLE2 a11 
where a10.GN_ID=a11.GN_ID; 

THIS ABOVE SQL查询RESULTING 600个纪录

select a11.GN_NM,a11.GN_ID 
FROM TABLE1 a10, TABLE2 a11 
where a10.GN_ID=a11.GN_ID; 

THIS ABOVE SQL查询RESULTING 0记录。

+1

你应该学会使用适当的'join'语法。 –

+0

@ Gordon,这是一个示例查询,我们已经从BI工具中提取了这个示例,顺便提一下,您正在引用的语法是什么。您能否提供更多见解? – user3085928

+0

好的,我不想怀疑你,但这绝对不是唯一的区别。 –

回答

0

无论何时您不明白您认为应该提供相同输出的两个查询之间的差异,最好的第一步是检查执行计划。

你可以通过运行SHOW PLANFILE来做到这一点;运行您的查询后立即。

例如:

select a11.GN_ID,a11.GN_NM 
FROM TABLE1 a10, TABLE2 a11 
where a10.GN_ID=a11.GN_ID; 

SHOW PLANFILE; 

select a11.GN_NM,a11.GN_ID 
FROM TABLE1 a10, TABLE2 a11 
where a10.GN_ID=a11.GN_ID; 

SHOW PLANFILE: 

的planfile输出添加到你的问题,所以我们可以帮助评估这一点。

相关问题