0

20 개 이상의 열이있는보기가 있습니다.쿼리에서 중복 제거

내가 가지고있는 다음과 같은 상황 :

표 X 나는 다음과 같은 쿼리를 할 수있는 방법

Column A | Column B | Column C 

    CA1 | CB2 | CC7 
    CA2 | CB2 | CC8 
    CA3 | CB3 | CC5 
    CA4 | CB4 | CC6 

? 나는 다음과 같은 조건에 의해 행 CA2를 제거해야하기 때문에

  • 는 3 행 (CA1, CA3CA4를)보기 :

    1. CB2

      Column B
    2. CC7에 중복 CC8 다릅니다 in Column C

select에도 20 개 이상의 열이 너무 많습니다. 별개 또는 그룹별로 (어쩌면 내 잘못) 할 수 없었습니다.

두 번째 쿼리에서 동일한 레코드를 두 번 조인하기 때문에 자체적으로 교차하려고 시도했지만 작동하지 않습니다.

알려 주시기 바랍니다. 감사!

+0

어떻게/왜 CA1에게 CA2를 통해 우선 순위를 부여 할 선택하려는 방법의 경우, 최대 (COLC) 대신에 분 (콜라)를 사용할 수 있을까? 그것은 CA2와 동일한 두 가지 조건을 위반합니다. 가입/쿼리중인 테이블의 구조를 단순화하면 더 유용 할 수 있습니다. –

+0

CC5는 C 열의 CC6과 다르므로 CA4가 반환되기를 원하는 이유는 무엇입니까? – Beth

+0

@ 베스 CA4를 수정합니다. 죄송합니다. –

답변

0

시도 :

SELECT 
    mina.colB, 
    mina.min_a, 
    tblx.colC 
FROM tblx INNER JOIN 
(SELECT 
    colB, 
    MIN(colA) AS min_a 
    FROM tblx 
GROUP BY 
    colB 
) mina ON 
mina.min_a = tblx.colA AND 
mina.colB = tblx.colB 

또는 당신이 그들을