2011-12-16 4 views
0

나는 그것이 다음과 같이 두 개의 하위 쿼리에 가입하기 위해 오라클 10g의 DB에 쿼리를 실행하기 위해 노력하고있어 :외부는 하위 쿼리가 그룹에 가입

SELECT * FROM(
select count(y), x from a group by y) t1 
full join 
(select count(z), x from b group by z) t2 
on (t1.x = t2.x) 

문제는 출력이 같은 x의 두 개의 서로 다른 열을 보여주고 있다는 것입니다 그것은 다음과 같습니다 :

y   z   x   x1   
------------------------------------------- 
    2   4   1   1   
    3   (null)  2   (null)  
    2   (null)  3   (null)  
    8   (null)  4   (null)  
    (null)  4   (null)  5   
    (null)  6   (null)  6 

누구든지 나를 도울 수 있습니까? 미리 감사드립니다!

+2

당신이/욕망을 결과를 기대하는 것을 보여주십시오. 나는 당신이 UNION을 원한다고 생각하지만 실제로 어떤 결과가 필요한지 알기 전까지는 확신 할 수 없습니다. – MatBailie

+0

x 속성을 사용하여 테이블을 조인하고 싶습니다. 공용 열이 하나 뿐이므로 공용이 아닙니다. coalesce를 사용하여 문제를 해결했지만 x 속성의 전체 조인이 두 개가 아닌 하나의 열을 생성하지 않는 이유를 모르겠습니다. – biggtor

답변

1

나는 당신이 원하는 것은 의심 :

SELECT coalesce(t1.x, t2.x) x, t1.y, t2.z 
FROM (select count(y), x from a group by x) t1 
full join (select count(z), x from b group by x) t2 on (t1.x = t2.x) 
관련 문제