首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle内部联接给出错误的结果集

Oracle内部联接给出错误的结果集
EN

Stack Overflow用户
提问于 2018-03-22 13:02:54
回答 1查看 173关注 0票数 1

当我执行这个查询时,它会给出10个结果集。

从OA_SERVICE_REQUESTS中选择* OA_SERVICE_REQUESTS.CUSREG_ID=4

但是,当我与其他表一起获取更多信息时,我使用了2个内连接,因为这是来自ELVM_SMUNT_CUS表的2个外键,它给我120个结果

代码语言:javascript
复制
select * from OA_SERVICE_REQUESTS  
inner join ELVM_SMUNT_CUS T1 on OA_SERVICE_REQUESTS.DIVCOD = T1.DIVCOD 
inner join ELVM_SMUNT_CUS T2 on OA_SERVICE_REQUESTS.UNTNUM = T2.UNTNUM 
WHERE OA_SERVICE_REQUESTS.CUSREG_ID=4
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-22 13:06:42

试着把它们结合在一起:

代码语言:javascript
复制
select * from OA_SERVICE_REQUESTS R 
 inner join ELVM_SMUNT_CUS T1 on ( R.DIVCOD = T1.DIVCOD 
                              and R.UNTNUM = T1.UNTNUM )
 where R.CUSREG_ID=4;

对于您的查询不产生跨产品结果。

可能,R.DIVCOD = T1.DIVCOD有12条匹配记录,R.CUSREG_ID=4有10条匹配记录,通过组合由and设置的结果,您可以同时获得10种结果,但如果条件被更多的联接所破坏,则可能产生12乘10的120个匹配记录。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49429459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档