2014-04-09 5 views
0

이 질문에 대한 답변을 가장 많이 찾았지만 검색하는 데 문제가 있습니다.하나의 열에 별개를 선택하고 해당 행을 반환하십시오.

고유 한 열의 결과 집합을 반환하려고합니다. 이 결과 집합에는 고유 한 열과 다른 필드가 포함됩니다. 나는 두 번째 필드에 두 개의 고유 한 요소가 있기 때문에 고유 한 열과 다른 필드 모두에서 distinct를 사용하면 고유 한 열의 중복을 받게된다는 문제가 있습니다.

나는 내가하고 싶은 것을 더 잘 보여주기 위해 노력할 것이다.

Workorder 테이블 :

JPNUM  DESCRIPTION 
=====  =========== 
FE-JPINSP BLAH BLAH 
FE-JPINSP BLAH BLAH BLAH 
FE-JPINSP BLAH BLAH 
LAB-JPINSP LAB INSP BLAH 

SQL : 단지 독특한 JPNUM의를 반환과

SELECT DISTINCT JPNUM FROM WORKORDER WHERE WORKTYPE = 'INSP' AND PARENT = '' 

이 쿼리가 작동합니다. 그러나 JPNUM과 관련된 설명도 포함하고 싶습니다. JPNUM과 DESCRIPTION 모두에서 선택하면. 저는 중복 된 JPNUM의 FE-JPINSP를받을 것입니다.

나는 테이블에서 두 개의 열을 제외했습니다. 그러나 당신은 아이디어를 얻어야합니다.

+2

제대로 질문을 포맷하는 법을 배워야하십시오. 16 개의 글을 읽고 나면 코드 블록 버튼이 있다는 것을 알아야합니다. –

+4

첫 번째 값과 일치하는 둘 이상의 행이있는 경우 두 번째 값을 반환 할 행을 어떻게 알 수 있습니까? –

답변

1

귀하의 질문에 귀하의 데이터의 모호성에 대처하는 방법이 설명되어 있지 않습니다. 실제로 DESCRIPTION 열의 두 값은 열에 F-JPINSP 값과 연결되어 있습니다.

내가 어휘 적으로 마지막 (이 경우에는 더 긴) 값을 원한다고 가정합니다.

이 검색어를 입력하십시오.

SELECT JPNUM, 
     MAX(DESCRIPTION) AS DESCRIPTION 
    FROM WORKORDER 
WHERE WORKTYPE = 'INSP' 
    AND PARENT = '' 
GROUP BY JPNUM 
ORDER BY JPNUM 
0

간단히 JPNUM에 의해 그룹과는 MIN, MAX 또는 GROUP_CONCAT에 가장 좋아하는 것을 설명 걸릴 :

SELECT JPNUM, MIN(DESCRIPTION) 
FROM WORKORDER 
WHERE WORKTYPE = 'INSP' AND PARENT = '' 
GROUP BY JPNUM; 
관련 문제