나는이 네 개의 SQL Server 데이터베이스 테이블 :쿼리가 둘 이상의 결과를 반환하는 이유는 무엇입니까?
inventory
inventory2
bdo
details
구조가 그대로 :
재고
AllocationID MSISDN
1 3018440225
2 3028431115
Inventory2
AllocationID MSISDN
1 3011234567
2 3026440657
3 3454159650
BDO
BDO_ID BDO_MSISDN
1 3457076952
2 3005000475
세부
(210)는 이제 다음 쿼리에서 레코드를 얻을 필요가 :
select a.msisdn, b.bdo_id
from details a, bdo b, inventory c, inventory2 d
where
a.msisdn = 3454159650
and (a.allocationid = c.allocationid) or (a.allocationid = d.allocationid)
and (c.bdo_id = b.bdo_id) or (d.bdo_id = b.bdo_id)
이 쿼리는 1 개 이상의 결과 (모두 정확히 같은) 왜 그렇게입니다 반환 ??? 내가 틀렸다면 제 개념과 질문을 수정하십시오.
LIMIT 1을 추가하십시오. – Rahul
where 절에 괄호를 추가해야합니다. 나는 현재 상황이 당신이 기대하는 바가된다고 생각하지 않는다. 조인을 사용하지 않는 이유는 무엇입니까? –
@PatrickKostjens 그가 외부 조인 대신에 그렇게하는 것처럼 보입니다. 그러나 실제로 알기는 어렵습니다. – alroc