当我执行这个查询时,它会给出10个结果集。
从OA_SERVICE_REQUESTS中选择* OA_SERVICE_REQUESTS.CUSREG_ID=4
但是,当我与其他表一起获取更多信息时,我使用了2个内连接,因为这是来自ELVM_SMUNT_CUS表的2个外键,它给我120个结果
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发布于 2018-03-22 13:06:42
试着把它们结合在一起:
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个匹配记录。
https://stackoverflow.com/questions/49429459
复制相似问题