2010-06-21 4 views
1

이것은 아마도 어딘가에 이미 답변되었을 수도 있지만 주요 용어가 누락 된 것으로 생각하기 때문에 문제가 될 수 있습니다.oracle 10g에서 더 많은 열로 여러 열을 쿼리하는 방법

col 1 | col 2 (shows column 1 and 2 where col3 is equal to 1) 
col 3 | col 4 (shows column 1 and 2 where col3 is equal to 2) 
col 5 | col 6 (shows column 1 and 2 where col3 is equal to 3) 
:

col1 | col2 | col3 
__________________________ 
a  | x  | 1 
b  | y  | 1 
c  | z  | 1 
d  | x  | 2 
e  | y  | 2 
f  | z  | 2 
g  | x  | 3 
h  | y  | 3 
i  | z  | 3 

내가 뭘 원하는 것은 얻기 위해 다시 쿼리입니다 : 내가 원하는 무엇

는 더 많은 열

그래서 내 쿼리가 현재이 반환에 여러 열을 변환입니다

희망이 있습니다. 내 쿼리를 게시하지 않았으므로 첫 번째 결과 세트가 상당히 큼 (여러 개의 모든 조합이 포함되어 있음) 필요하다고 생각하지 않았습니다. 도움이된다면 더 관리하기 쉬운 것으로 잘라서 게시 할 것입니다.

편집 : 더 자세히 설명하겠습니다. 새 쿼리에서 6 개의 열을 표시하려고합니다. 첫 번째 두 열은 선택 COL1, COL3 = 1 개

번째 두 개의 컬럼 (COL3 및 col4)이
선택 COL1 것 "원래의 질의 '에서 COL2 여기서 COL3 = 2'원래의 질의 '에서 COL2 것 .

마지막 두 열은 (COL5와 col6)입니다
선택 COL1, COL3 = 3

+0

귀하의 질문에 관해서는 충분히 명확하지 않습니다 네가 원하는 걸 돌려 줬어. 열 1과 2가 2 일 때 "col 3 | col 4"사이에 상관 관계가 표시되지 않습니까? – Benny

+0

JOIN하거나 줄을 정렬 할 열을 추가 할 수도 있습니다. 지금까지 질문에서 짐작할 수있는 것부터 WITH를 사용하고 3 개의 하위 쿼리 (각 col3 값에 대해 1)를 결합 할 수 있습니다. – potatopeelings

+0

이렇게 복잡한 쿼리 요청이 필요한 데이터 자체의 특성에 대해 더 자세히 설명하는 데 도움이됩니다. . 관계형 모델은 열의 순서를 중요시하지 않습니다. 그것들은 단순히 엔티티에 대한 정렬되지 않은 속성 집합입니다. 따라서 "col1 = col2", "col3 = col4 ..."의 요청은 오류가있는 데이터베이스 스키마를 나타낼 수 있습니다. – Thomas

답변

0

가 좋아 내가 특히 우아한 아니 방법 (교체 아웃했다 '원래 쿼리'에서 COL2 될 것입니다 내 의견 그러나 그것은 작동한다). 그런 다음보기 로 이전 쿼리를 추가하는 것은 한 ::

select a.col1, a.col2, b.col1, b.col2, c.col1, c.col2 
from view a, view b, view c 
where a.col3 = 1 
    and b.col3 = 2 
    and c.col3 = 3 

도 내가 단순 여기에서 제외했습니다 기본 키를 연결했다. 나는 이것이 potatopeelings가 제안하고 있었던 것이 거의 다라고 생각한다. 당신의 도움들에 대한

감사합니다, 사람이 나는 순간에 매우 많은 아마추어 및 그 사실을 잘 알고 있어요으로이 알려 주시기 바랍니다 일을 더 나은 방법을 생각하는 경우가

관련 문제