2012-06-27 3 views
3

다른 조인을 추가하려면 쿼리를 수정해야합니다. 그러나 새로운 조인은 아마도 왼쪽 조인이어야합니다. 나는 이것에 관해 어떻게 가야하는지 확신 할 수 없다. 나는 인포믹스를 사용하고 있습니다 :Informix 다중 조인

 set query "SELECT DISTINCT x.xfertype,x.app_type,x.service_type,x.lang,x.area_type,x.area_value,x.module,x.field1,x.field2,x.disabled,a.frames,a.allocs,a.term_id,t.term,c.center_id,c.center_name,a.message_id,x.field3,x.apn_type,x.global, a.icm, s.group_name " 
    append query " FROM test_xfertypes AS x, test_allocation AS a, test_terms AS t, test_callcenter AS c" 
    append query " AND a.xfertype = x.xfertype " 
    append query " AND a.term_id = t.term_id " 
    append query " AND t.center_id = c.center_id "; 

test_xfertypes AS xarea_value (INT) 나는 또 다른 새 테이블 test_routing_groups AS s으로 위의 표에 가입 왼쪽하려는

가 포함되어 있습니다.

s.group_name WHERE x.area_value IN (s.area_id); group_name이 있으면 return을 반환하고 그렇지 않으면 null을 반환합니다.

답변

2

표준 조인 구문을 사용해야합니다. 당신은 다른 테이블에 가입 남아 있습니다

SELECT DISTINCT x.xfertype, x.app_type, x.service_type, x.lang,x.area_type, 
     x.area_value, x.module, x.field1, x.field2, x.disabled, 
     a.frames, a.allocs, a.term_id, 
     t.term,c.center_id, c.center_name,a.message_id, x.field3, x.apn_type,x.global, 
     a.icm, s.group_name 
FROM test_xfertypes x join 
    test_allocation a 
    on a.xfertype = x.xfertype join 
    test_terms t 
    on a.term_id = t.term_id join 
    test_callcenter c 
    on t.center_id = c.center_id 

단지 추가하여 :처럼 쿼리가 보일 것입니다

left outer join test_routing_groups s 
on x.area_value IN (s.area_id) 

또한 오히려 "에서"보다는 "x.area_value = s.area_id"를 사용할 수 있습니다 절.

+1

+1은 아이디어가 옳기 때문에 JOIN 및 ON과 같은 중요한 키워드를 숨기는 레이아웃을 싫어합니다. 나는 대문자로 된 키워드와 FROM 아래에 정렬 된 키워드를 가질 것입니다. –