当我执行此查询时,它会给出10个结果集。
从OA_SERVICE_REQUESTS WHERE中选择* 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
答案 0 :(得分:1)
尝试将它们组合在一起:
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.UNTNUM = T1.UNTNUM
的{{1}}有10个匹配的记录,通过组合R.CUSREG_ID=4
的结果集,您可以获得10个结果同时,如果条件被更多的连接分开,可能会产生120次出现12次10次。